- Jan 07, 2016
-
-
Gregory Nutt authored
AVR: Rename ATMEGA_PC_SIZE to AVR_PC_SIZE since it must be used in common AVR logic. Add definitions for other AVR architectures as necessary for compilation
-
- Jan 06, 2016
-
-
Gregory Nutt authored
-
- Jan 05, 2016
-
-
Gregory Nutt authored
-
Gregory Nutt authored
Atmega2560
-
- Jan 04, 2016
-
-
Dimitry Kloper authored
Atmel's AVR8 toolchain is similar to WinAVR, but at present moment it has one important feature that WinAVR does not. The __flash and __memx allow built in comiler support for transparent program memory pointers. Functions that use such pointers will work both with RAM arrays and flash memory arrays. The compiler generates an appropriate code automatically. For systems with tiny memory like atmega, this is very important and allows to move all static const strings into flash.
-
Dimitry Kloper authored
-
Dimitry Kloper authored
-
- Jan 01, 2016
-
-
Gregory Nutt authored
-
- Dec 30, 2015
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
- Dec 29, 2015
-
-
Dimitry Kloper authored
-
Gregory Nutt authored
-
Gregory Nutt authored
Atmega2560
-
Dimitry Kloper authored
-
Dimitry Kloper authored
-
Dimitry Kloper authored
-
Dimitry Kloper authored
The main challenge is to change the context switch code to be aware of the extra byte that is saved on stack during call and intterupt. This relates also to the task startup and signal handling.
-
Dimitry Kloper authored
Put setting of XDIV into ifdef since not AVR platforms support it.
-
Dimitry Kloper authored
For AVR chips (Atmega2560) Program Counter register larger than 16 bits EIND represents the most significant byte that is used for EICALL and EIJMP instructions. Setting of EIND is normally managed by compiler, but I have seen a situation when for first 64K flash segment compiler didn't set EINT explicitly. Thus setting EIND at system startup makes sure we are safe.
-
Dimitry Kloper authored
Disabling interrupts at the very beginning of system init does not make sense after reset since interrupts are disabled anyway. But it is very convenient for debugging purposes, in situations when the system misbehaves and ocassionally jumps to zero.
-
Dimitry Kloper authored
Sometimes I need UART to support binary data transfer, TCSETS/TCGETS allow stwitching into binary mode.
-
Gregory Nutt authored
-
Dimitry Kloper authored
Minor bug while working on Arduino Mega support. I didn't add support for ARCH_HAVE_LEDS and have it undefined in .config. To my surprise compilation failed since AVR code had a related function compiled in.
-
Dimitry Kloper authored
arch/avr/Makefile is adding extra EXEEXT to the nuttix image file. This was not discovered since in most configurations EXEEXT is empty string.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
- Dec 28, 2015
-
-
Gregory Nutt authored
-
Gregory Nutt authored
ARMv7-R and TMS570: Re-orider some initialization logic. __start used to called arm_boot() which would return. Then __start would call os_start(). That won't work for the TMS570 if is does a destructive memory tested because the return information will be lost in the stack. Also comment a nuisance assertion. The assertion is probably correct but certainly a nuisance during initial testing
-
Gregory Nutt authored
-
- Dec 27, 2015
-
-
Dimitry Kloper authored
This is for forthcoming Atmega2560 support. The Atmega2560 has 24-bit PC thus, PCH and PCL would become PCH, PCM and PCL (M for Middle). The problem that in this notation PCM is equivalent to former PCH. This makes compatable porting kind of difficult, at least for my taste. Instead PCH becomes PC0 and PCL becomes PC1 (think of the index as order of bytes pushed to stack when call is performed, PC0 as MSB goes first, PC1 goes to stack second, and for 24-bit PC, PC2 as LDB goes last).
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
- Dec 26, 2015
-
-
Dimitry Kloper authored
Modify Kconfig to be aware of the new chip. Add all the interrupt hanler constants and vectors where needed. Move contsatnts from generic to specific headers when needed.
-
Gregory Nutt authored
-
Gregory Nutt authored
AVR: Fix interrupt bombing during a context switch
-
Gregory Nutt authored
-
Dimitry Kloper authored
TCB_RESTORE macro has a problem when restoring Status Register and returning from the function (in up_fullcontextrestore()) as non-atomic action. If there is some frequently occurring interrupt, chances are that we will enter the interrupt handler just before ret is called. The handler may cause a context switch which, when unrolled, will execute up_fullcontextrestore() function that employs TCB_RESTORE. It will be interrupted again just before return, leaving part of context switch content un-popped again, etc... Thus, chances are that the stack will eventually blow. Note that this is not some edge condition fix. This bug was discovered when testing AVR with UART configured to work on 115200 baud rate.
-