On Thu, Aug 7, 2025 at 4:18 PM Luca Giambonini <gluc...@gmail.com> wrote:
> Dear nuttx team, > I'm working in my very little spare time on the porting of nuttx to DA1470 > Renesas MCU on a da1470x_pro_dev_kit. > This is my very first port, so it has taken me a while to dig into and > understand how NuttX brings up a new architecture (and I scratched only the > surface). > The DA1470 series is quite a complicated tech, where renesas implemented a > lot of peripherals in one single package. The memory allocation is complex > too. > https://www.renesas.com/en/products/da14706 > > You can find my current work-in-progress here: > https://github.com/AlmAck/nuttx/tree/da1470x > > The overall a basic implementation status is: > gpio - OK > serial - write only (no IRQ) > PMU - base functions to manage the buck/dcdc > Clock - base functions to set clock bus > > It tooks a while to have a serial connection, I see the boot process > succeed and enters nx_start() > Unfortunately, that's where the joy stops, I’m hitting the following issue: > > dump_assert_info: Current Version: NuttX 12.10.0 e2bc4cd83b-dirty Aug 7 > > 2025 21:58:21 arm > > > > dump_assert_info: Assertion failed panic: at file: > > armv8-m/arm_hardfault.c:147 task: Idle_Task process: Kernel 0x1ee5 > > > > up_dump_register: R0: 00000002 R1: 20012688 R2: 00000000 R3: 00000001 > > > > up_dump_register: R4: 00000000 R5: 00000000 R6: 00000000 FP: 2001268c > > > > up_dump_register: R8: 2857ae40 SB: b7de4573 SL: 20173000 R11: 00000000 > > > > up_dump_register: IP: 00000000 SP: 20012688 LR: 00002e5d PC: 00002e82 > > > > up_dump_register: xPSR: 29000200 BASEPRI: 00000080 CONTROL: 00000000 > > > > up_dump_register: EXC_RETURN: ffffffb8 > > > > dump_stackinfo: User Stack: > > > > dump_stackinfo: base: 0x20011708 > > > > dump_stackinfo: size: 00004080 > > > > dump_stackinfo: sp: 0x20012688 > > > > stack_dump: 0x20012668: 00000002 20012688 00000000 00000001 00000000 > > 00002e5d 00002e82 29000200 > > > > stack_dump: 0x20012688: 00002e5d 00000000 200106a0 00001000 00000000 > > 00000000 00000080 000126ac > > > > stack_dump: 0x200126a8: 00000000 00000000 000020d7 200126bc 00002029 > > 00000000 000fd908 200126f8 > > > > stack_dump: 0x200126c8: 00000001 200126dc 000001cb 000fd908 200126f8 > > 000fd908 200126f8 20010370 > > > > stack_dump: 0x200126e8: 00027cd8 200126f4 00000000 00000000 00000000 > > 00000000 00000000 00000000 > > > > dump_tasks: PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACKBASE > > STACKSIZE COMMAND > > > > dump_task: 0 0 0 FIFO Kthread - Ready 0000000000000000 0x20011708 4080 > > Idle_Task > > > > dump_task: 1 1 100 RR Task - Running 0000000000000000 0x20012e10 4064 nsh > > > > The code stops at: > > > arm-none-eabi-addr2line -e nuttx -f -C 0x00002e82 0x00002e5d > > sched_unlock > > nuttx/sched/sched/sched_unlock.c:104 > > sched_unlock > > nuttx/sched/sched/sched_unlock.c:90 > > > > I'm running out of ideas, memory, heap should be there. > Do you have any suggestions on where I should look next? > > Thank you so much, > Luca Giambonini > Hi Luca, The very first thing I would check is whether there is a too-small stack that is being overflowed. That will cause all manner of problems and they can be quite hard to diagnose because the code will seem to fail in totally unrelated places. I have run into that multiple times myself!! If unsure, you can try increasing stack sizes. You can always decrease them later if you find it wasn't an issue. Only if you are sure that there is no problem with the stack overflowing, then go on to try diagnosing it further. Let us know so we can try to help further :-) Hope this helps, Nathan