摘要:
Qfplib的介绍页面 https://www.quinapalus.com/qfplib.html 该浮点库使用针对cortex-m3优化的汇编代码实现了qfp_fadd,qfp_fsub,qfp_fmul,qfp_fdiv等函数,用以替代编译器内置的软浮点实现,和大多数数学库一样,Qfplib也 阅读全文
摘要:
基本信息 单片机:GD32F303RC,运行主频:120MHz,SRAM:48KB,Flash:256KB,带单精度FPU 编译环境:ARMCC 5.06 update6 (build750) 由于iq数的底层数据类型是4字节的int32_t因此_iq30 ~ _iq1 尽管表示的精度不同,但是运算 阅读全文
摘要:
PDD商品介绍页面 总写入量还是比较差的,512GB为300TBW,只能达到长江存储自封颗粒的一半(以长江PC300为例,512GB写入寿命是600TBW)。 AS SSD Benchmark测试1GB缓内写入,基本能达到标称的速度。 CrystalDiskinfo Windows写入文件测试,写入 阅读全文
摘要:
无用的模态对话框 下图是安信可开发的一款串口工具,当前是已插入USB串口并且软件为打开状态。 当用户在上述情况下,主动拔除USB设备时,软件会弹出对话框,用户除了点击对话框中的OK或者对话框右上角的X,对软件其余界面元素的任何操作都是无效的。并且点击对话框中的元素对用户是没有积极意义的无用操作,它不 阅读全文
摘要:
空闲态电平 SWD接口由SWCLK和SWDIO两根信号线组成,SWCLK调试器给目标芯片的时钟信号,在芯片端需要下拉;SWDIO双向数据信号,在芯片端需要上拉,上/下拉电阻的取值在100K附近即可。 上/下拉电阻取值来自PY32单片机数据手册: 在调试器端,空闲态下:SWDIO可以输出高,SWCLK 阅读全文
摘要:
无线调试器本体 SWD有源延长线 DAPLINK通用协议测试 测试固件大小: 225340字节,SWD时钟10M,使用KEIL-MDK下载。 测试项:擦除,下载,校验,设备返回DAP_TRANSFER_WAIT时主动延时500us。 序号 耗时 速度 1 18.72s 11.755KB/s 2 19 阅读全文
摘要:
usbip-win下载地址 https://github.com/cezanne/usbip-win/releases ### 更新: `vhci(wdm or ude) drivers have been certified via MS attestation sign.` usbip-win 阅读全文
摘要:
SWDIO时序 这里我使用了JLink的SWDIO时序和空闲电平态,因此和CMSIS-DAP标准定义的并不一样,实测下来Jlink的时序更加适合硬件SPI,兼容性也更好。 //todo KEIL-MDK 下载速度测试 这里的下载速度不完全取决于WiFi或USB传输速度,还取决于目标板Flash的擦除 阅读全文
摘要:
开发工具安装 离线安装包下载地址:https://dl.espressif.cn/dl/esp-idf/ 需要选择Espressif IDE with ESP-IDF,该选项的离线包集成了Eclipse开发环境,安装完就可以直接使用。 虽然是离线安装包,但安装时根据你选择的芯片类型,有些芯片还是需要 阅读全文
摘要:
Cortex-M中断控制器 Cortex-M中断优先级机制 Cortex-M4的内核中断(也称异常)的优先级通过core_cm4.h文件中SCB_Type结构的SCB->SHP[0] ~ SCB->SHP[11]成员进行配置: 通过上图看到,该寄存器可以按字节寻址,那么每个优先级位实际值范围在0x0 阅读全文
摘要:
Git链接 基于GD32F303ARM Cortex-M4的示例: https://github.com/Yanye0xFF/RTXThread 概述 这并不是一个全新的实时操作系统,而是基于rt-thread设备驱动框架和RTX5内核组合而来的衍生版系统。其中操作系统的应用层接口使用了CMSIS 阅读全文
摘要:
关于DAPLink DAPLink是ARM推出的一款调试器方案,支持SWD接口的Cortex-M系列MCU,或JTAG接口的Cortex-A系列MPU,软件代码使用Apache2.0许可,因此可以自由地用在个人和商业项目上。 CMSIS-DAP项目主页: https://www.keil.com/p 阅读全文
摘要:
简单介绍 对于定位在中低端的MCU(通常是某个系列48脚,64脚的型号),不会配备额外的RAM接口给用户外接SRAM,SDRAM或DRAM;这就造成了程序能使用的RAM只能是单片机内部的SRAM,通常只有几十或者100多KB,有时候就不够用了。本文介绍的方案中,使用8脚SPI接口的PSRAM芯片给单 阅读全文
摘要:
关于版权许可 CMSIS软件包开源协议是Apache 2.0,因此可以用在闭源的商业项目中,CMSIS-RTOS2是一套ARM设计的操作系统API,目的是在不同的操作系统内核之间形成一套通用的上层API,CMSIS-RTOS2有主流的操作系统兼容层,例如freertos,rt-thread,huaw 阅读全文
摘要:
前言 本篇的内容进入了rt-smart内核的C语言世界,因此会同时涉及到较多的.c文件,需要读者对rt-smart内核有基本的认识,至少需要大致了解内核的文件结构。 在上一章节中,我们从启动汇编start_gcc.S进入了内核入口rtthread_startup,该内核入口函数位于./kernel/ 阅读全文
摘要:
嵌入式系统的一般流程 BROM是厂商固化在芯片内部的,是上电后最早运行的代码,主要做最小系统初始化,然后根据情况(通常是GPIO配置) ,从不同的启动介质加载二级引导程序到处理器内部SRAM。 SPL程序是用户编写,其最主要的功能是初始化DDR,并将操作系统内核加载到DDR,最终跳转执行。SPL程序 阅读全文
摘要:
在2022年使用ARM9开发,很容易和ARM Cortex-A的一些特性搞混,因为ARM9实在是有点老旧,有很多特性并没有,这里记录下ARM926需要注意的地方。 ARM9采用改进型哈佛结构,指令和数据分属不同的总线,可以并行处理。 五级流水线,PC = 当前执行地址 + 8 32bit定点RISC 阅读全文
摘要:
这里是为全志F1C100S(ARM926EJS)移植rt-smart的过程记录,由于只有空闲时间更新,因此进度不能保证。 更新: 2022-08-08 已经成功移植,但由于用户态依赖库librtthread.a不开源(只提供arm v7-a版),因此arm926目前是没希望上rt-smart了;除非 阅读全文
摘要:
BootROM支持的引导介质 默认的启动优先级 目前没有找到修改启动顺序的方式 | 序号 | 启动介质 | 注意事项| | | | | | 1st | MicroSD Card/eMMC|只支持PF0 ~ PF5这六个脚复用为SDC0启动, 控制器支持到SD2.0和eMMC4.41,设备端可以使用主 阅读全文
摘要:
最近升级使用中的老电脑,替换下一块64GB的mSATA固态硬盘,型号:MTFDDAT064MAM-1J2,64GB MLC(可用59G), 马维尔主控,外置DDR 64MB缓存。这块固态体质还是不错的,作为系统盘使用6年下来健康度还有94%,不过容量较小,仅安装windows10-LTSC系统及配套 阅读全文