0967eb4c24
I recently imported NuttX version 6.0 (and nsh) into a Microchip Studio project [1] on Windows to figure out what was going wrong with the avr32dev1 build. I also briefly checked NuttX version 10. I worked with the assumption that the avr32 (avr32dev1) specific changes to the codebase were minimal across NuttX releases. For the initial proof of concept I used Microchip Studio version 7.0 (with the recent Microchip's ASF updates). I use avr32-gcc (4.4.7) hosted here [2] for building NuttX for avr32dev1 on GNU/Linux. Even with the Microchip Studio project, I had initial debug problems with just stepping through the code a line at a time. I had to bring in crt0, a trampoline stub and the linker file from one of my older projects to really build on the suspicion I had with the linker file. Perhaps an older version of avr32-gcc did something differently. I am not sure about this. I used avr32-objdump to see the output sections of the generated elf file. I just had to tweak the linker script to ensure correct linking of the sections. With those changes, I was able to inspect the UART sections within NuttX Microchip Studio project. Second important change: the transmit pin: I had to reassign the pin to see the nsh console. These are the currently assigned UART pins: RX: PA_24 -> Physical IC pin 59 TX: PB_02 -> Physical IC pin 24 For the avr32dev1 board, they are pins: J1 (berg pin 28) and J2 (berg pin 10). In addition, the PR fixes silly compilation problems with avr32dev1. I have tested the nsh build with my avr32dev1 boards. I used Atmel ICE to program one of them (flash at 0x80000000) and dfu-programmer to test my other board (flash at 0x80002000). The other RS-232 parameters are the same as they were. References: [1]: https://github.com/ramangopalan/nuttx_avr32dev1 [2]: https://github.com/ramangopalan/avr32-gnu-toolchain-linux_x86_64 |
||
---|---|---|
.. | ||
at32uc3 | ||
at90usb | ||
atmega | ||
avr | ||
avr32 | ||
xmega | ||
.gitignore | ||
arch.h | ||
debug.h | ||
inttypes.h | ||
irq.h | ||
limits.h | ||
syscall.h | ||
types.h |