- 博客(9)
- 收藏
- 关注
原创 记录Keil中因勾选Use Micro LIB导致周期复位的问题
起初因部分地方使用printf 所以勾选Use Micro LIB,编译没报错就正常调试,后续测试发现会周期50s复位重新运行,重新建工程等大量调试还是出现,后续测试不勾选此选项编译会报错,缩减RAM使用编译不报错后运行无异常。但具体什么原因没搞懂,猜测可能是因为内存越界导致复位,但不理解测试中把代码全部屏蔽仅执行部分最简单代码还是会复位。先附两张图,在程序中RAM使用越界时勾选与不勾选Use Micro LIB的编译结果。,相比默认的 Full C Library(完整 C 库)做了大量裁剪。
2025-11-19 13:54:41
212
原创 两台电脑直连传输文件及千兆传输
5.A电脑在本地账户 - 账户 - 登录选项 - 密码,增加密码用于B电脑访问时登录,同时需要输入A电脑的账户名,本地账户中会显示用户名(如:Administrator)。6.B电脑按win + R,输入A电脑共享时显示的网络路径,回车即可进入A电脑共享的文件夹,接下来文件传输吧,实际传输速度受很多限制,不一定百分百跑满。旧电脑为A,新电脑为B,主要原理为A电脑通过网络共享需要备份的盘符或路径,B电脑通过网络访问A电脑进行传输文件。最后,传输完成后将IP设置为自动获取,一般由路由器或交换机分配IP。
2025-06-03 16:41:36
2916
原创 关于keil工程中相关MCU宏定义的问题
此功能猜测可能与keil版本有关,我目前使用keil版本为5.36,工程中切换ARM Compiler为version5,保存后会自动添加(默认选择version6,也会自动添加)。写这篇文章主要由于使用GD芯片遇到问题在向FAE寻求帮助时其反馈工程有问题,在Target C/C++中没有添加相关Define,在向其解释过程中他坚定认为我的工程有问题,所以写个文章记录下,如果有问题还请大家帮忙纠正。上述项目中keil自动添加了相关宏定义只要是正常的我们就无需在手动添加了,添加后虽然不出错但也会重复添加。
2025-04-03 17:41:34
399
1
原创 GD32F427 SDIO DMA写入后读取数据错误问题
上述问题通过指针偏移地址后不为字节对齐地址,传输过程中DMA强制进行对齐访问则将无效地址数据传输存储,所以导致写入数据和读取数据不符,解决办法为一重新分配字节对齐地址后在配置给DMA传输,二修改DMA对齐方式(不推荐,部分为强制对齐无法修改,修改后速度会降低)仿真查看写入时指针所指向地址无异常,该地址数据与下载预期相符。下载一包数据后,去掉协议头将后续数据部分内容写入SD卡,使用SDIO SD_DMA_MODE,数据内容使用指针方式偏移至数据位置地址,写入后重新读取进行校验,校验错误。
2025-01-08 16:41:34
521
原创 GD32F4 SDIO+DMA+FTAFS问题记录
后修改SDIO为DMA模式便修复上述问题。但此次因使用fat文件系统,所以DMA只是代替CPU传输数据,CPU还是需要等待DMA传输完成后才执行后续程序。但是关闭中断期间会导致其他中断无法接受完整数据,比如GPS数据异常,导致RTC会被异常校时(暂不讨论GPS数据校验等问题)。FAT与DMA无直接关联,文件系统只负责调用SDCARD中的SD读写函数,而读写具体以何种形式则由SD驱动负责。配置SDIO模式为DMA模式,注意中断优先级及中断函数。以上配置后SDIO便会使用DMA模式。
2024-12-12 16:08:21
542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅