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 >