OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2732|回复: 2

关于mimxRT1011Flash读写例程移植死机

[复制链接]

0

主题

4

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2021-3-15
在线时间
6 小时
发表于 2022-9-6 17:45:58 | 显示全部楼层 |阅读模式
5金钱
修改记录
1.参照例程【freertos_hello_flash_operation】修改scf:增加
/* Necessary to run flash routines from SRAM */

flexspi_nor_flash_ops.o (+RO +RW +ZI)

fsl_flexspi.o (+RO +RW +ZI)

2.拷贝freertos_hello_flash_operation例程中的三个文件
freertos_hello_flash_operation.c//包含任务

flexspi_nor_flash_ops.c//flash操作

app.h//修改宏定义   修改简化:app.h--》flash_app.h

3.程序无法运行,执行到擦除语句时程序死机。
status = flexspi_nor_flash_erase_sector(EXAMPLE_FLEXSPI, EXAMPLE_SECTOR * SECTOR_SIZE);//无法执行

4.flash初始化代码正常通过。
且死机后重新上电程序无法运行,应是程序已经被修改,即擦除到代码部分。
但程序宏中定义:
#define EXAMPLE_SECTOR            100    //起始扇区 改大也没用

#define SECTOR_SIZE               0x1000 /* 4K */   //扇区大小

5.即修改的扇区应该是100*4K之后的字节,程序只有46K。
目前没有思路,感谢大佬指点迷津。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-9-8 01:24:23 | 显示全部楼层
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2021-3-15
在线时间
6 小时
 楼主| 发表于 2022-9-14 14:49:56 | 显示全部楼层
问题解决:
在原例程没处进入临界区操作处,修改 开关总中断如。
    taskENTER_CRITICAL();
                __set_PRIMASK(1);
    status = flexspi_nor_enable_quad_mode(EXAMPLE_FLEXSPI);//椹卞姩quad妯″紡
                __set_PRIMASK(0);
    taskEXIT_CRITICAL();

开关总中断后临界区可以不进去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 10:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表