nuttx/boards
Raman Gopalan 0967eb4c24 avr32dev1: Fix compilation and nsh boot-up
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
2024-02-08 11:12:13 -03:00
..
arm board/samv7: add support for BOARDCTL_RESET_CAUSE command 2024-02-07 13:26:37 -03:00
arm64 boards: qemu-armv8a: Add nxrecorder to defconfigs 2024-02-05 05:54:04 -08:00
avr avr32dev1: Fix compilation and nsh boot-up 2024-02-08 11:12:13 -03:00
dummy
hc/m9s12 Documentation: migrate the rest boards 2023-10-26 18:13:34 -03:00
mips sched_lock refine: remove sched_[un]lock in xxx_waitsample 2023-11-21 20:03:43 -08:00
misoc/lm32/misoc Documentation: migrate the rest boards 2023-10-26 18:13:34 -03:00
or1k/mor1kx/or1k Documentation: migrate the rest boards 2023-10-26 18:13:34 -03:00
renesas Revert "make/archive: Use the full path name when matching or storing names in the archive" 2023-10-27 22:26:18 +08:00
risc-v risc-v/qemu-rv/rv-virt: Add support to loader ROMFS image in kernel 2024-02-07 19:46:42 -08:00
sim/sim/sim sim/usbdev: refresh defconfig to fix ci break 2024-01-15 22:31:39 -08:00
sparc Run refresh.sh to update all board configs 2023-09-02 14:45:44 +08:00
x86/qemu/qemu-i486 Revert "make/archive: Use the full path name when matching or storing names in the archive" 2023-10-27 22:26:18 +08:00
x86_64/intel64/qemu-intel64 cosmetic changes after pci code rebase 2024-01-25 09:09:30 -08:00
xtensa esp32/dac-one-shot: lower-half driver for ESP32 internal DAC 2024-02-02 09:23:28 -08:00
z16/z16f/z16f2800100zcog Documentation: migrate boards/{z16|z80}/xxx/configs/README.txt 2023-10-28 13:55:22 +08:00
z80 Documentation: migrate boards/{z16|z80}/xxx/configs/README.txt 2023-10-28 13:55:22 +08:00
.gitignore
Board.mk sched: move etc romfs mount from nsh to sched/init 2024-01-09 21:29:46 -03:00
boardctl.c usbadb: add usbadb boardctl 2023-08-07 11:23:36 +08:00
CMakeLists.txt
dummy.c
Kconfig risc-v/espressif: Rename espressif/esp32c3 as esp32c3 2024-01-30 08:32:05 +01:00
Makefile