printf in gcc is verry memory consuming. There is one project that may be of interest for bridging the goof features of printf but with less memory footprint. take a look at:
Blogg
-
mcp2515 can controller
Var jag hittar info om mcp2515 CAn controller
Denna har jag utgått i från:
https://github.com/sparkfun/CAN-Bus_Shield/tree/master/Libraries/CanbusBra läsning:
http://www.matejk.cz/zdroje/mcp2515-avr-can-spi.pdf -
Eclipse GDB
Nu när jag fått detta att fungera, inkusive disassemble, få kollar jag på en register explorer:
http://embsysregview.sourceforge.net/
och
https://github.com/molejar/embsysregview/blob/master/org.eclipse.cdt.embsysregview.data/data/8bit/Atmel/atmega16.xml
Mer info om hur man får Eclipse-GDB-Dragon att fungera med DebugWire kommer senare.Detta är inte testat ännu men det kommer.
-
Atmega CAN bootloader
Tänkte göra en CAN bootloader till en Atmega328P.
Några saker som behöver fixas.
CompileTime date in build. (__DATE__ and __TIME__)
Serial Debug.
Simple CAN (ASM?) for MCP2515
QT app for programming.
CAN-WiFi gateway, Web-programming. -
AVR Bootloader
Lite info om bootloader för AVR (Atmega 328p)
För att kompilera en bootloader behöver man ändra lite i Linkern för att det skall generera hex-filer med rätt adress. Default börjar programmet på adress 0x0, men bootloader ligger i slutet av minnet.
Atmel skriver minnes adresser i word inte byte, vilket kan göra detta lite krångligt.Linkern behöver följande parameter:
-Wl,-section-start=.text=0x7c00
Där adressen är skriven i byte (tror jag)
För att översätta detta har jag gjort en liten lathund:
GCC använder Byte, medans Atmen använder Word.Size W Address W Address dec W Adress B 512 FE00 65024 7F00 1024 FC00 64512 7E00 2048 F800 63488 7C00 4096 F000 61440 7800
-Wl,-section-start=.text=0x7E00 är ok för 256 bootloaderDebug av bootloader ser inte ut att fungera ?? kollar vidare.
Använd -g3 och (stabs + gdb extention), -O0 (no optimization).
-
AVR-GDBServer
En lite rolig AVR-GDB-server internt i en AVR med serieport.
-
Simple Level shift
Hår omvandlar man 3.3v till 5v och 5v till 3.3??
Kolla här.
-
Make arduino-board debugWire enabled.
I found this link about removing the Cap that maks Arduinoboard debugWire enablend and also make the unable to be programmed via USB-bootloader.