Iar avr

Elkezdte választani az IAR-t, hogy az AVR Stúdióban létrehozott kód, és észrevette, hogy nem a verem kezdetét veszi fel
Itt van az ausztrál stúdió összeállítása
kód:
@ 0000007F. C_STARTUP
+0000007F: E90F LDI R16,0x9F Töltsön azonnal
+00000080: BF0D OUT 0x3D, R16 kimenet I / O helyre
+00000081: E000 LDI R16,0x00 Töltsön azonnal
+00000082: BF0E OUT 0x3E, R16 kimenet I / O helyre

és a verem itt 0x9f-vel kezdődik, és 0x45f-vel kell megtennie, ahol ez a javításban javítható

Már megtalálható a Beállítások ablakban az Általános beállítások lapon a Rendszersoron adatok verem mérete byte szükséges feltüntetni 0x3e0 akkor a verem lesz egyenlő ennek 0x45f állt 0x20
de ehhez jött a számítási módszer és hogyan derül ki, hogy 0x20 rekord az SPL 0x9f-ben nem tisztázott

Már megtalálható a Beállítások ablakban az Általános beállítások lapon a Rendszersoron adatok verem mérete byte szükséges feltüntetni 0x3e0 akkor a verem lesz egyenlő ennek 0x45f állt 0x20
de ehhez jött a számítási módszer és hogyan derül ki, hogy 0x20 rekord az SPL 0x9f-ben nem tisztázott


Egyszerűen nem működik - meg kell változtatnod a linkszkriptet. Minden emléket adtál a visszatéréshez. Hogyan fogja az IAR globális változókat elosztani? nincs helye.


Lehetséges, és így igazítani, csak az értelemben? A legfontosabb dolog az, hogy elegendő stackméretet válasszunk, és ahol vannak, nem olyan fontos. Nehéz megmondani, ami rosszabb -, hogy a verem "valaki más" RAM területére vagy az I / O regiszterek helyére kerül. És így és így lesz, kivéve, hogy különböző módon.