hpm_sdk
hpm_sdk copied to clipboard
No PR will be accepted for now, but feel free to submit issue, very appreciated.
使用 ATTR_PLACE_AT_WITH_ALIGNMENT(".fast_ram", 4) int a=1;将变量存放在dlm ram里的时候,启动后变量a的值未能初始化。 使用sdk自带的工具链时会出现这个问题,SEGGER Embedded Studio for RISC-V 里不会出现。 应该是在reset.c里没有对应的初始化代码,.ld的链接文件里缺少对应的定义信息。
# CMake 环境: ``` $ cmake --version cmake version 3.25.1 CMake suite maintained and supported by Kitware (kitware.com/cmake). ``` # 相关代码 if(NOT DEFINED $ENV{HPM_SDK_BASE}) message(FATAL_ERROR "HPM_SDK_BASE is not set yet")...
https://github.com/hpmicro/hpm_sdk/blob/7440098831b16ed0b14e97004441bcabcc3f19b2/boards/openocd/hpm5300_all_in_one.cfg#L32 并不存在 hpm5361.cfg,应该替换为 hpm5300.cfg?
I'm trying to get a `Hello World` sample project running for my `HPM6200EVK_RevB` board. Unfortunately, I got stuck. I followed all the installation steps pointed out on https://github.com/hpmicro/hpm_sdk The only...
vector.h文件25行,在使用RTOS,且中断使用向量模式时,中断向量表0位置应该放置RTOS的trap_handler 而不应该再放置irq_handler_trap,所以为了兼容是否使用RTOS、是否使用中断向量模式,是否应该修改为 " .set default_isr_trap, HANDLER_TRAP"
基于SDK1.5.0,自制的HPM6360开发板,使用SDK提供的/drivers/femc/sdram样例进行测试,使用SEGGER IDE 8.10d。 程序在ILM上执行,CPU频率480MHz,AXI总线频率160MHz,FEMC频率166MHz(我理解在这里SDRAM Clk和FEMC同频率),用宏定义展开读写操作。结果大约是:DCache ON,读取131292.67 KB/s,写入117288.14 KB/s;DCache OFF,读取23566.82 KB/s,写入33216.41 KB/s。 把相同的测试函数移植到STM32H723的开发板上。程序在ITCM上执行,CPU频率480MHz,AXI总线频率240MHz,SDRAM控制器频率166MHz,SDRAM Clk频率100MHz。结果大约是:DCache ON,读取127069.32 KB/s,写入187245.71 KB/s;DCache OFF,读取54175.98 KB/s,写入187078.68 KB/s。接近理论的吞吐上限。 我尝试过把CPU频率提升到648MHz(无影响),AXI总线频率提升到240MHz(无影响),把FEMC频率提升到200MHz(提升约10%)。我还简单调试了一下FEMC配置的参数和编译器优化等级(O0->O3 fast),调整后的测试结果和SDK原有代码的结果相比基本没有变化。想了解一下这是硬件设计上的限制还是有其他优化的方向?谢谢。