81f1133174
* include: Introduce elf64.h and elf.h Added elf64.h for 64bit ELF support and moved common definitions from elf32.h to elf.h. Also introduced Elf_xxx to be used in common libraries such as binfmt. * binfmt, include, modlib, module: Add support for ELF64 Elf_xxx must be used instead of Elf32_xxx to support ELF64. To use ELF64, CONFIG_ELF_64BIT must be enabled. * binfmt, modlib: Add support for relocate address * arch: risc-v: Add include/elf.h * libs: machine: Add risc-v related files. NOTE: Currently only supports ELF64 * boards: maix-bit: Add elf and posix_spawn configurations * boards: maix-bit: Add support for module configuration |
||
---|---|---|
.. | ||
configs | ||
include | ||
scripts | ||
src | ||
Kconfig | ||
README-qemu.txt | ||
README.txt |
1. Download and install toolchain and openocd-k210 $ curl https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14.tar.gz 2. Build openocd-k210 $ git clone https://github.com/kendryte/openocd-kendryte $ cd openocd-kendryte $ ./bootstrap & ./configure & make 3. Configure and build NuttX $ mkdir ./nuttx; cd ./nuttx $ git clone https://bitbucket.org/nuttx/nuttx.git $ git clone https://bitbucket.org/nuttx/apps.git $ cd nuttx $ make distclean $ ./tools/configure.sh maix-bit:nsh $ make V=1 4. Download and run the nuttx from SRAM (not SPI-Flash) $ picocom -b 115200 /dev/ttyUSB0 $ sudo ./src/openocd -s ./tcl -f ./tcl/kendryte.cfg -m 0 $ riscv64-unknown-elf-gdb ./nuttx (gdb) target extended-remote :3333 (gdb) load nuttx (gdb) c 5. TODO PLL setting (currently CPU clock freq is assumed to be 416MHz) Boot from SPI-Flash Support peripherals such as GPIO/SPI/I2C/... Support FPU Support RISC-V User mode