历史上的今天
今天是:2025年02月14日(星期五)
2019年02月14日 | STM32用STLINK烧写外置FLASH遇到的问题
2019-02-14 来源:eefocus
由于项目需要大量的图片字库还有音频文件,所以外挂了NOR flash和NAND flash,需要用到烧写算法STLDR(就是包含几段在SRAM里面运行的代码),调试的时候遇到了几个问题,都是大意造成的,所以写出来记录一下
首先烧写用到PC端软件是STM32 STLINK Utility,在安装目录下附带了一些常用的flash的烧写算法,但没有我用到的那种,所以只能参考ST-LINK Utility UM手册在…\ST-LINK Utility\ExternalLoader目录下的工程模板上修改,修改需要用到对FLASH的初始化、读写、擦除函数,这个要提前调试好,填到对应的函数内就可以了,后面由上位机自己调用
问题来了,主要是三方面的问题,第一个是编译出错,第二个是延时,第三个是地址
1)编译出错:在修改完模板第一次编译的时候可能会报错.\xxx.axf: Error: L6265E: Non-PI Section loader_src.o(.data) cannot be assigned to PI Exec region PrgData.,这个问题需要修改target.sct文件,添加ABSOLUTE,这个是偶然在一个论坛上看到的,在此表示感谢
2)延时问题:工程用的cubemx的HAL库开发,所有延时部分都是用的HAL_Delay()函数,但是在模板中并没有使用中断,一直卡死在延时函数里面出不来,所以最终改为常用的自减法来达到延时的目的
3)地址问题:flash接在OSPI2接口上,起始基地址是0x70000000,但是OSPI的库函数使用的地址是不包括基地址的,而在模板中读写函数传入的地址参数是带着基地址的,所以需要与0x0FFFFFFF相与再使用
这三个问题解决好就可以正常读写了,就是感觉速度不快,带校验也就50k/s,可能是HAL库函数注重稳定性和兼容性,代码冗余多,直接操作寄存器可能会快点
史海拾趣
|
WinCE5.0上如何编程设置任务栏"总在最前","自动隐藏","显示时间"的启用或停用? 如题,主要是想让任务栏不要总在最前,全屏程序. 并非想要直接ShowWindow(hTaskBarWnd, SW_HIDE)隐藏(这样打开\"最大化\"窗口时不能最大化,下面原来任务栏的地方是空白); 试过修改注册表并SendMessage(hTaskBarWnd, WM_COMMAND, 0x3EA, 0),实际并没 ...… 查看全部问答> |
|
例如 已经定义好了 #define U0IIR (*((volatile unsigned char *) 0xE000C008)) 和 #define U1IIR (*((volatile unsigned char *) 0xE00 ...… 查看全部问答> |
|
我的AM3517板子也收到了,刚在迅雷下载了一个“VMWare 7.1.0.261024 绿色精简版.rar”,现正在下载ubuntu9.10正式版,等我把开发平台架设好了就开始分享我的学习心得,显示的问题我准备到淘宝上去淘一个HDMI转VGA或者DVI的转换线,15-18一条,我准 ...… 查看全部问答> |
|
最近在做个上下位机通讯的自定义协议,思路如下: (1)通过状态机的方法分析数据包,提取需要的信息,这部分是采用【USART1中断接收模式】做的。 (2)分析数据包内固定位置的【数据长度】信 ...… 查看全部问答> |
|
#define EALLOW asm(\\" EALLOW\\" #define EDIS asm(\\" EDIS\\" #define ESTOP0 asm(\\" ESTOP0\\" 在上面定义的 指令中,不知道三个汇编指令的含义,还请高手赐教,谢谢!! ...… 查看全部问答> |
|
下载IAR for ARM 6.3(文档推荐的是v6.0以上的版本)---我以前用的是4.2的版本,到IAR的官网重新下载到了。 安装Manley MLink的驱动程序,这个我下载好,先在上传给大家,安装步骤请参考板子的资料FM3-Easy-Kit-manual.pdf文件。不然会出现下图的 ...… 查看全部问答> |




