文章分类 - HPM6x5x 系列
先辑 单片机 系列
摘要:官方参考链接 在访问HPM片上ILM与DLM(Local Memory)时,芯片物理结构决定了CPU不会使用Cache去缓存Local Memory的数据。访问其它存储设备如flash、sram、sdram等,则Cache可以发挥其缓存机制来加快访问速度。在Cache生效的地址空间内,用户可以设置M
阅读全文
摘要:RISC-V ISA 看到这些有点懵逼,详细查了一下资料才知道其具体含义:参考链接:Nuclei_N级别指令架构手册 - RISC-V MCU文档中心 (riscv-mcu.com) RISC-V指令集基于模块化设计,可以根据配置进行灵活组合。Nuclei N级别处理器内核支持的是如下模块化指令集:
阅读全文
摘要:上面只是对局部代码进行优化。由于编译器一次只编译优化一个编译单元,所以只是在做局部优化,而利用 LTO,利用链接时的全局视角进行操作,从而得到能够进行更加极致的优化。开启LTO优化部分,位置: 1、LTO定义 “Link-Time Optimization.” Any kind of optimiz
阅读全文
摘要:官方 BOOT 启动顺序说明 批量烧写 需要配置:BOOT1拉高,BOOT0接低 才可以正常下载程序
阅读全文
摘要:激活链接教程: http://www.hpmicro.com/support/detail.html?id=e9b65dc7-4cb4-4749-bf41-dbb9e725c32b hpm mcu 激活地址: 激活地址 https://license.segger.com/hpmicro.cgi B
阅读全文
摘要:注意到 在 c_startup 函数位置需要开启 FLASH_UF2 ,cmake 文件编译选项参考 uf2 功能: # use xip sdram uf2 build type config if("${CMAKE_BUILD_TYPE}" STREQUAL "") SET(CMAKE_BUILD
阅读全文
摘要:emmc 工作在查询模式,使用 hs200 的8线工作模式,时钟输出 200Mhz ,FTP服务器写文件速度: 平均在5~6MB/s 如果不加写入文件的功能,即不调用函数 f_write 写速度: 平均在10~12MB/s,基本上可以跑满百兆带宽。 FTP服务器读取文件速度: 平均在1~2MB/s,
阅读全文
摘要:修改输入部分代码: static struct pbuf *low_level_input(struct netif *netif) { struct pbuf *p = NULL, *q; u32_t len; uint8_t *buffer; enet_frame_t frame = {0, 0
阅读全文
摘要:
阅读全文
摘要:链接文件加入: define exported symbol __ahb_sram_start__ = start of region AHB_SRAM; define exported symbol __ahb_sram_end__ = end of region AHB_SRAM + 1; pm
阅读全文
摘要:由于 hpm6750 在启动部分默认开启了 指令与数据 cache: __attribute__((weak)) void system_init(void) { disable_global_irq(CSR_MSTATUS_MIE_MASK); disable_irq_from_intc(); e
阅读全文
摘要:例如将 位于 xpi flash 的程序段代码 .text 放置与 DLM位置,需要将这里的 .text 改为 .fast
阅读全文
摘要:
阅读全文
摘要:1 #if (FF_FS_NORTC == 0) 2 3 /** 4 * @brief 获得时间 User defined function to give a current time to fatfs module 5 * @param 31-25: Year(0-127 org.1980),
阅读全文
摘要:/** * @brief Inidialize a Drive * @param pdrv: Physical drive nmuber to identify the drive * @retval None */ DSTATUS sd_disk_initialize(BYTE pdrv) { s
阅读全文
摘要:测试结果: 测试代码: /** * @brief 测试文件读写速度 * @param None * @retval None */ /* 用于测试读写速度 */ #define TEST_FILE_LEN (2*1024*1024) // 用于测试的文件长度 #define BUF_SIZE (8*
阅读全文
摘要:HPM6450/HPM6750 硬件 I2C 支持 100k/400k/1000k 三种速率模式,使用普通的 400k 刷新 0.96寸的OLED的应该是足够的,这里使用 i2c0 接口配置: 1 /** 2 * @brief init i2c pins 3 * @param void 4 * @r
阅读全文
摘要:
阅读全文
摘要:HPM6750 使用官方例程测试通过DMA反转IO输出: 修改反转周期到 ns 级别: 这里设置到 1000ns 即 1us 来测试极限值,获得波形如下: 从结果看,最大反转周期只能做到1.62us,没有达到1us的设定值,1.65us应该是该MCU的极限值了。
阅读全文
摘要:HPM6750 的 GPIO 输出 有四种输出模式触发,都是通过DO寄存器来实现: // DO[VALUE] 引脚正常输出电平 0: 引脚输出低电平 1: 引脚输出高电平 // DO[SET] 引脚输出高电平 0: 引脚输出不变 1: 引脚输出高电平 // DO[CLEAR] 引脚输出底电平 0:
阅读全文