nuttx/libs/libc
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
..
aio libc: Change errno to set_errno and get_errno 2023-10-29 17:16:09 +02:00
assert avr32dev1: Fix compilation and nsh boot-up 2024-02-08 11:12:13 -03:00
audio libsrc: update version in CMakeLists.txt 2023-09-07 22:15:48 +08:00
bin build: add initial cmake build system 2023-07-08 13:50:48 +08:00
builtin libs/libc: adapt the cmake script from the makefile 2023-11-07 17:39:03 +01:00
ctype libs/ctype/toupper_l: Implement function toupper_l instead of macro 2023-08-22 00:07:16 +08:00
dirent build: add initial cmake build system 2023-07-08 13:50:48 +08:00
dlfcn Fix loading of ET_DYN type of shared objects 2023-09-20 09:35:28 -04:00
errno build: add initial cmake build system 2023-07-08 13:50:48 +08:00
eventfd build: add initial cmake build system 2023-07-08 13:50:48 +08:00
fdt CMake:init arm64 CMake qemu-armv8a build 2023-12-27 07:27:17 -08:00
fixedmath build: add initial cmake build system 2023-07-08 13:50:48 +08:00
gdbstub support gdbstub use serial. 2023-12-11 08:43:26 -08:00
gpsutils libs/libc: adapt the cmake script from the makefile 2023-11-07 17:39:03 +01:00
grp build: add initial cmake build system 2023-07-08 13:50:48 +08:00
hex2bin c++ compatibility: rename reserved c++ keywords 'public' and 'this' 2023-09-16 19:45:02 +08:00
inttypes build: add initial cmake build system 2023-07-08 13:50:48 +08:00
kbin build: add initial cmake build system 2023-07-08 13:50:48 +08:00
libgen libc/basename: Change len type from int to size_t 2023-07-16 00:35:35 +03:00
locale libc: Change errno to set_errno and get_errno 2023-10-29 17:16:09 +02:00
lzf build: add initial cmake build system 2023-07-08 13:50:48 +08:00
machine armv7-m: Expose section name to allow relocation 2024-01-04 15:07:18 +01:00
misc libs/log2ceil: Move implementation of log2ceil to a common place 2023-12-14 08:46:12 -08:00
modlib riscv/arch_elf.c: Handle PCREL_HI20/LO12_I/S relocations correctly 2023-12-12 17:32:36 -08:00
net net/ip: print ip addresses using ip4_addrN macro 2023-08-19 13:28:21 -03:00
netdb netdb: When set a dns nameserver, if the nameserver already exists, retrun OK. 2023-10-12 12:22:16 +08:00
obstack compiler/tasking: fix compiler warning on tasking 2024-01-31 05:02:56 -08:00
pthread sched/tls_info: Add tl_ prefix to pthread cleanup stack / tos 2023-11-15 08:52:04 -08:00
pwd pwd: fix syntax error 2023-09-04 23:19:46 +08:00
queue build: add initial cmake build system 2023-07-08 13:50:48 +08:00
regex libs/libc/regex: add newline at the end of Make.defs 2023-06-11 12:55:29 +08:00
sched task/pthread_cancelpt: Move cancel point handling to libc, data to TLS 2023-11-15 08:52:04 -08:00
semaphore sched/semaphore: Move named semaphores to user space 2023-11-27 04:52:54 -08:00
signal signal: add siginterrupt implementation 2023-08-29 09:43:42 +08:00
spawn libs/libc/spawn: Add minimal implementation for posix_spawnattr_destory. 2023-10-31 13:42:00 +08:00
stdio compiler/tasking: fix unreachable code on tasking toolchain 2024-01-30 20:53:00 -08:00
stdlib libc/realpath: allocate link buffer of pseudofs to save stack 2023-11-07 09:05:50 +08:00
stream libc/stream: add file out stream 2023-12-25 16:54:16 -03:00
string compiler/tasking: fix unreachable code on tasking toolchain 2024-01-30 20:53:00 -08:00
symtab libs: fix the problem that the address obtained in thumb mode cannot be executed. 2024-01-04 09:22:57 -08:00
syslog build: add initial cmake build system 2023-07-08 13:50:48 +08:00
termios build: add initial cmake build system 2023-07-08 13:50:48 +08:00
time libc: Change errno to set_errno and get_errno 2023-10-29 17:16:09 +02:00
tls task/pthread_cancelpt: Fix task_delete from another task group 2023-11-22 08:05:58 -08:00
uio build: add initial cmake build system 2023-07-08 13:50:48 +08:00
unistd compiler/tasking: fix unreachable code on tasking toolchain 2024-01-30 20:53:00 -08:00
userfs build: add initial cmake build system 2023-07-08 13:50:48 +08:00
uuid libc: Change errno to set_errno and get_errno 2023-10-29 17:16:09 +02:00
wchar libs/libc/wchar: add wcswidth implementation 2023-09-22 08:51:07 +08:00
wctype compiler/tasking: fix unreachable code on tasking toolchain 2024-01-30 20:53:00 -08:00
wqueue semaphore/_SEM_XX: Remove the _SEM redirection macros as unnecessary 2023-11-27 04:52:54 -08:00
zoneinfo Documentation: remove all migrated READMEs 2023-10-29 21:03:54 -03:00
.gitignore libfdt: modify makefile 2023-08-26 17:07:02 +08:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig fdt: add libfdt support 2023-08-10 20:47:37 +08:00
libc.csv libc.csv: Fix qsort signature with unexpected quotation mark 2024-01-14 02:17:22 -08:00
libc.h stdio: Implement [clearerr|putc|fflush]_unlocked 2023-10-29 17:09:18 +02:00
Makefile fdt: add libfdt support 2023-08-10 20:47:37 +08:00