Hi Jerzy, The build tools are available here: https://gitlab.com/shaktiproject/software/riscv-tools The code is ran on an FPGA (Arty A7-100T), there is a qemu vm but it doesn't work correctly.
I realised that the _start may already be defined while looking closer at the Hifive1 startup code, I'll make those changes. Is it possible that we can get on a call if you are free on the weekend? Regards, Keith On Thu, Jun 26, 2025 at 3:49 PM Jerzy Kasenberg <jerzy.kasenb...@codecoup.pl> wrote: > Hi Keith, > > Your code defines _start as staring point and it also defines this > function. > This function initializes bss and calls init then it ends with busy loop. > > To make it link more code you could change your startup function to > different name > then after your init (or at the end of this function) you could call _start > function that is present > in baselib.c and that would start more mynewt code. > > Keep in mind that mynewt expect maynew_main function (not main) to be > starting point of application. > > regards > Jerzy > > > czw., 26 cze 2025 o 10:18 Jerzy Kasenberg <jerzy.kasenb...@codecoup.pl> > napisał(a): > > > Hi Keith, > > > > I did port of hifive1 few years back but I don't have setup ready. > > Can you tell me what system you are using for development and how to get > > build tools you have? > > If I can setup environment again I'm pretty sure we can make this work. > > Originally compiler used for HiFive1 board was downloaded from SiFive > site > > I don't know > > it this is the one you are using and if the one I used is still there > > > > regards > > Jerzy > > > > > > śr., 25 cze 2025 o 09:37 Keith P <keithcpere...@gmail.com> napisał(a): > > > >> Hello everyone, > >> > >> I am an intern at a lab and don't really get how to continue with > porting, > >> I have made a few files and copied some code from the mcu's original SDK > >> <https://gitlab.com/shaktiproject/software/shakti-sdk>. > >> > >> I am porting to the Shakti line of MCU's, they are fully open-source > RISCV > >> based MCUs. > >> > >> I have followed the fairly short porting guide and have been trying to > use > >> the FE310 bsp implementation by SiFive as a template/guide since that is > >> also a RISCV board. > >> > >> My task as of now is to get UART working. > >> > >> Here are the directories I've added: > >> repos/apache-mynewt-core/hw/bsp/shakti_parashu/ > >> ├── bsp.yml > >> ├── include > >> │ └── bsp > >> │ └── bsp.h > >> ├── parashu_boot.ld > >> ├── parashu.ld > >> ├── pkg.yml > >> ├── src > >> │ └── hal_bsp.c > >> └── syscfg.yml > >> > >> 3 directories, 7 files > >> > >> repos/apache-mynewt-core/hw/mcu/shakti/ > >> ├── parashu > >> │ ├── include > >> │ │ ├── clint.h > >> │ │ ├── defines.h > >> │ │ ├── mcu > >> │ │ │ ├── parashu.h > >> │ │ │ ├── parashu_hal.h > >> │ │ │ ├── platform.h > >> │ │ │ └── sys_clock.h > >> │ │ ├── plic.h > >> │ │ └── traps.h > >> │ ├── pkg.yml > >> │ ├── src > >> │ │ ├── arch > >> │ │ │ └── rv32imacu > >> │ │ │ └── start.S > >> │ │ ├── clint.c > >> │ │ ├── hal_flash.c > >> │ │ ├── hal_os_tick.c > >> │ │ ├── hal_reset_cause.c > >> │ │ ├── hal_system.c > >> │ │ ├── hal_uart.c > >> │ │ ├── init.c > >> │ │ ├── plic.c > >> │ │ ├── sys_clock.c > >> │ │ └── traps.c > >> │ └── syscfg.yml > >> └── pkg.yml > >> > >> 6 directories, 22 files > >> > >> repos/apache-mynewt-core/kernel/os/src/arch/shakti/ > >> ├── start.S > >> └── trap.S > >> > >> 0 directories, 2 files > >> > >> repos/apache-mynewt-core/compiler/riscv64-unknown-elf-shakti/ > >> ├── compiler.yml > >> └── pkg.yml > >> > >> 0 directories, 2 files > >> > >> I forked the mynewt-core repo and uploaded my changes to the fork > >> <https://github.com/Keith-C-P/shakti-mynewt-core>. > >> > >> The code compiles, but the dump looks all wrong as major sections are > >> missing, like main and others > >> > >> I did compile mynewt for both native (linux) and for hifive1, i ran > >> hifive1 > >> on a qemu vm as I don't have access to the actual board, but both worked > >> fine. > >> > >> I'll be honest I don't know what questions to ask as I am just starting > to > >> get into the embedded field and wanted a difficult project so I can > learn > >> fast. > >> > >> Any and all help would be greatly appreciated > >> Thanks in advance > >> > >> Regards, > >> Keith > >> > > >