Check the configuration that you are using.  What is the UART used in the NuttX configuration for the serial console?  What is the UART that connects to the debug port?

Do you have a jtag debugger?  There should be instructions in the README explaining how to single step into the OS.  You should be able to determine what is failing.  Check the README for the SAMA5D3x-ek too.  That is a more mature configuration.

So key places to set breakpoints:

 * When you reset, you shard be starting in __start.
 * At the completion of low level debug, it will call nx_start()
 * nx_start() will call up_initialize() to finish the hardware
   initialization.
 * When nx_start()finishes, it will call nsh_main() which should put up
   the the NSH prompt

Do you have networking enabled.  You problem should strip down the configuration so that as little as possible is enabled. Disable networking, disable USB, etc.

Greg

On 12/22/2019 1:20 AM, Adam Feuer wrote:
Ok, maybe more progress. I re-flashed the SPI NOR flash with new files from
the linux4sam website. Now I can see the serial terminal on the debug port
during boot. I can stop the boot process using U-Boot, and use U-Boot to
load a nuttx.bin image. This process is suggested in the board README.

But the system hangs when I execute the go command:

U-Boot 2019.04-linux4sam_6.2 (Oct 25 2019 - 00:36:06 +0000)

CPU: SAMA5D36
Crystal frequency:       12 MHz
CPU clock        :      528 MHz
Master clock     :      132 MHz
DRAM:  256 MiB
NAND:  256 MiB
MMC:   Atmel mci: 0, Atmel mci: 1
Loading Environment from NAND... OK
In:    serial@ffffee00
Out:   serial@ffffee00
Err:   serial@ffffee00
Net:
Error: ethernet@f0028000 address not set.
eth-1: ethernet@f0028000
Error: ethernet@f802c000 address not set.
, eth-1: ethernet@f802c000
Hit any key to stop autoboot:  0
=> mmc rescan
=> fatls mmc 0:1
             .Spotlight-V100/
   1658616   nuttx
    106620   nuttx.bin

2 file(s), 1 dir(s)

=> fatload mmc 0 0x20008000 nuttx.bin
106620 bytes read in 15 ms (6.8 MiB/s)
=> go 0x20008040
## Starting application at 0x20008040 ...

The README file says I should get a NuttX shell here instead of a hang.
Does anyone have any ideas how to debug?

cheers
adam

On Sat, Dec 21, 2019 at 9:17 PM Adam Feuer <a...@adamfeuer.com> wrote:

Hi,

NuttX newbie here.

I'm trying to load NuttX onto a SAMA5D3-Xplained board. I am trying to
follow the board's README file. I am using the Gnu ARM embedded toolchain
v9
<https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads>
and a Segger J-Link Base JTAG debugger. I have an FTDI USB-serial adapter
connected to the board's debug serial port. I compiled NuttX with the
options suggested and debug symbols. My .config file is attached.

Compiling seems to work and produces executables with debug symbols. I am
trying to find a way to boot the board. The README suggests several
options, one is via the debugger. I can boot into linux from an SD Card
using the D36 Linux4Sam instructions
<https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d3XplainedMainPage>
and log in using the USB serial port, so I know the board works.

I can debug using the Segger debugger halting and starting the CPU while
running Linux. The README says, boot the board, halt the CPU, load the
nuttx ELF binary, load the symbols. That seems to work. The Segger doesn't
support 'mon pc 0x20008040' like the README suggests, but lists the default
start point as 0x20008040... so I just do 'mon go'. I expect a NSH on the
debug serial port or the USB serial port, but there's no response either
places.

My question is:
Should I be able to see a NSH console on the debug serial port? Or the USB
serial port? I don't see either devices when I look at the host system's
/dev/ directory.

cheers
adam

ps. Here's an excerpt of my gdb session:

(gdb) mon halt
(gdb) load nuttx
Loading section .text, size 0x19f94 lma 0x20008000
Loading section .ARM.exidx, size 0x8 lma 0x20021f94
Loading section .data, size 0xe0 lma 0x20021f9c
Start address 0x20008040, load size 106620
(gdb) file nuttx
A program is being debugged already.
Are you sure you want to change the file? (y or n) y
Load new symbol table from "nuttx"? (y or n) y
Reading symbols from nuttx...
(gdb) mon go



--
Adam Feuer <a...@adamfeuer.com>
Seattle, WA, USA


Reply via email to