Hjälp med Intel 87C196 MCU
Postat: 14 april 2011, 11:01:11
Sitter på en Intel 87C196CB microcontroller som jag har problem att få igång.
Har ett kort med en fungerande 87C196CA och har skrivit en enkel kod som bara blinkar dioder. -CB såg ut att vara så gott som pinkompatibel förutom ett par extra pinnar, främst för utökad adressering av externa minnen, vilket jag inte behöver. Största skillnaden var chip select som flyttats från AD15 på -CA till A19 på -CB eftersom 8-bits system används mot de externa minnena. Har inte hittat några egentliga skillnader i registerna heller som jag tror ska påverka.
Har självklart ändrat delar av koden som har med val av microcontroller att göra.
All kod körs från ett externt flashminne.
Kör tasking Software 80C196 program builder v4.0 r6 kompilator. Får ut en *.abs fil som konverteras till Intel HEX som i sin tur konverteras till Motorola S-record och på -CA var det även nödvändigt att ändra adresseringen för att det skulle fungera med externt minne, troligen behövs detta på -CB med.
Bränner sedan filen med Elnec MEMprog på ett AM29F010 minne.
På -CA lades hela programmet mellan 0x01A000-0x01FFFF. Har testat ett par olika adresseringar på -CB men får inget att fungera. Kan ju tillägga att det var en del problem med konverterarna som inte stödde Motorolas S2 och S3-format fullt ut trots att de hävdade detta. Det fungerade till -CA eftersom all adressering från början var 16-bitars men ballade ur på -CB när addresseringen var 16-bitars i början av koden och sedan blev 24-bitars.
Jag har förhoppningsvis rättat till detta men om någon är bra på det området får ni gärna dubbelkolla att det är rätt.
Letar alltså efter någon som tror sig veta hur man får igång en 87C196CB från ett externt minne.
Har ett kort med en fungerande 87C196CA och har skrivit en enkel kod som bara blinkar dioder. -CB såg ut att vara så gott som pinkompatibel förutom ett par extra pinnar, främst för utökad adressering av externa minnen, vilket jag inte behöver. Största skillnaden var chip select som flyttats från AD15 på -CA till A19 på -CB eftersom 8-bits system används mot de externa minnena. Har inte hittat några egentliga skillnader i registerna heller som jag tror ska påverka.
Har självklart ändrat delar av koden som har med val av microcontroller att göra.
All kod körs från ett externt flashminne.
Kör tasking Software 80C196 program builder v4.0 r6 kompilator. Får ut en *.abs fil som konverteras till Intel HEX som i sin tur konverteras till Motorola S-record och på -CA var det även nödvändigt att ändra adresseringen för att det skulle fungera med externt minne, troligen behövs detta på -CB med.
Bränner sedan filen med Elnec MEMprog på ett AM29F010 minne.
På -CA lades hela programmet mellan 0x01A000-0x01FFFF. Har testat ett par olika adresseringar på -CB men får inget att fungera. Kan ju tillägga att det var en del problem med konverterarna som inte stödde Motorolas S2 och S3-format fullt ut trots att de hävdade detta. Det fungerade till -CA eftersom all adressering från början var 16-bitars men ballade ur på -CB när addresseringen var 16-bitars i början av koden och sedan blev 24-bitars.
Jag har förhoppningsvis rättat till detta men om någon är bra på det området får ni gärna dubbelkolla att det är rätt.
Letar alltså efter någon som tror sig veta hur man får igång en 87C196CB från ett externt minne.