Ako neće breg Muhamedu, mora Muhamed bregu.
Da, postoji limit za 9S08 od 64KB, što je uglavnom dovoljno za najveći broj primena. Codewarrior je dobar kompajler, sadrži procesor ekspert gde se moduli MCU-a prikazuju sa svojstvima koja se podešavaju, a sam Codewarrior na osnovu toga generiše kod. Takođe potpuno (uključujući i module) softverski simulira MCU.
Za ColdFire V1 limit je 64KB što je verovatno malo za 32-o bitni MCU. Za one koji ne znaju ColdFire V1 MCU je nastavak 9S08 gde je promenjen samo 8-o bitni CPU sa 32-o bitnim. Naravno, jači CPU je dozvolio i neke nove module: eternet, DES akcelerator i t. d. Interesantno je da u razvojnom sistemu, za već napisan program, možete lako promeniti tip MCU-a (na primer sa 9S08 na ColdFire V1) i Codewarrior automatski zameni inklud fajlove i generiše novi izvršni kod.
ColdFireV1 je interesantno unapređenje nekadašnjeg MC68000 procesora. Zadržali su 8 32-o bitnih D registara i 8 32-o bitnih A registra, gde je A7 stek pointer. Takođe su zadržali mogućnost da na mestu A7 može biti korisnički stek pointer ili supervizor stek pointer, potrebno za pouzdan multitasking. Ubacili su i hardver za sumiranje proizvoda 32-o bitnih celih brojeva (označenih i neoznačenih)
Klokuje se sa 50MHz, što nije ništa posebno, naročito ako se ima u vidu da je magistrala prema flesh-u i periferijama 25MHz. Ali ovog puta su CPU i RAM stavili da se klokuju sa 50MHz što ipak nešto znači (2.1 MIPS/MHz)
Možda će nekom biti interesantno. Napisao sam neki netrivijalni program na C-u (preovlađuje rad sa bajtovima) i preveo ga prvo za 9S08 (20MHz), a potom za ColdFireV1 (MCF51JM128) i napravio upoređenje. ColdFire je bio 5 puta brži i potrošio je samo 25% više koda. Ovaj drugi podatak me je iznenadio i vrlo ohrabrio. Onda sam malo bolje pogledao zašto je to tako. Video sam da postoji dobar broj dvobajtnih naredbi, dok je prosečna naredba kod 9S08 dužine 2 bajta. Kod Kinetisa sa ARM jezgrom i RISC naredbama, imao bih veću brzinu ali i osetno veću dužinu koda.
Pozdrav.