Kategorier
c++ Programering

Bra info om AVR bootloader

Kategorier
Arduino c++ CityEl Programering

PID controller från början

Tänke implementera en PID controller för att hitta rätt laddström i SimpleCharger. Om matande nätdel svajar lite spännings mässigt (oreglerad transformator) så får jag en oscillerande output. En PID controller löser säkert detta.

kolla på:
https://www.teachmemicro.com/arduino-pid-control-tutorial/

Kategorier
c++ Programering

printf for embedden

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:

https://github.com/mpaland/printf

Kategorier
c++ Programering

avr-gdb fix for dataspace

https://sourceware.org/ml/gdb-patches/2016-03/msg00318.html

https://sourceware.org/bugzilla/show_bug.cgi?id=13519

Kategorier
c++ Programering

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.

Kategorier
c++ CAN-Bus Electronik Programering

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.

Kategorier
Arduino c++ Programering

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 WAddress WAddress dec WAdress B
512FE00650247F00
1024FC00645127E00
2048F800634887C00
4096F000614407800


-Wl,-section-start=.text=0x7E00 är ok för 256 bootloader

Debug av bootloader ser inte ut att fungera ?? kollar vidare.

Använd -g3 och (stabs + gdb extention), -O0 (no optimization).

Kategorier
c++ Programering

AVR-GDBServer

En lite rolig AVR-GDB-server internt i en AVR med serieport.

https://github.com/rouming/AVR-GDBServer

Kategorier
Arduino Programering

Arduino för Attiny85

http://www.lawicel.se/blog/about/attiny85-och-arduino/
Kategorier
Problemlösning Programering

Object Detection – Computer Vision

 

https://pjreddie.com/darknet/yolo/

Face Detection and recognition