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
>

Reply via email to