完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想使用 BAM 模式更改审查制度。
我写的代码参考“Example MPC5604B Censorship CW210”。因为我可以看到来自 uart 端口的数据,所以我设法使用“BAM 代码将执行转移到 SRAM 中的用户代码”。但是当我检查阴影闪光时,没有任何改变。你能告诉我原因吗? uint8_t我; 无符号整数 *uartchange; ME.RUNPC[0].R=0xFE;/*在包括DRUN模式在内的所有RUN模式下激活的外设*/ ME.MCTL.R =0x30005AF0;/*使用控制键(0x5AF0)请求进入DRUN(0x3)模式*/ ME.MCTL.R =0x3000A50F;/*用控制反转键(0xA50F)请求进入DRUN(0x3)模式*/ while(ME.GS.B.S_CURRENTMODE != 0x3); /*等待MCU传输到DRUN模式*/ SIU.PCR[LED1_GPIO_PAD].R = 0x203; /*使用内部上拉使能输出缓冲器*/ SIU.PCR[LED2_GPIO_PAD].R = 0x203; /*使用内部上拉使能输出缓冲器*/ SWT_DisableWatchDog(); 系统初始化(); 初始化 SIU(); LINFlex0_init(); /* 解锁 SHADOW 闪存 */ if(CFLASH.LML.B.TSLK) /* 检查测试/阴影闪存锁定状态 */ { CFLASH.LML.R = 0xA1A11111; /* 解锁 LML 的密码 */ CFLASH.LML.B.TSLK = 0; /* 测试/影子锁定位 */ } if(CFLASH.SLL.B.STSLK) /* 检查次要测试/影子闪存锁定状态 */ { CFLASH.SLL.R = 0xC3C33333; /* 解锁 SLL 的密码 */ CFLASH.SLL.B.STSLK = 0; /* 二次测试/影子锁定位 */ } /* 擦除 SHADOW 闪存 */ CFLASH.MCR.R = 0x00000004; /* 在 MCR 中设置 ERS:选择操作 */ *((uint32_t*) 0x00200000) = 0xFFFFFFFF; /* 用任何数据锁存一个 CFlash 影子地址 */ CFLASH.MCR.R = 0x00000005; /* 在 MCR 中设置 EHV:操作开始 */ while(!CFLASH.MCR.B.DONE); /* 检查 DONE 标志 */ while(!CFLASH.MCR.B.PEG); /* 检查 PEG 标志 */ CFLASH.MCR.R = 0x00000004; /* 复位 MCR 中的 EHV:操作结束 */ CFLASH.MCR.R = 0x00000000; /* 重置 MCR 中的 ERS:取消选择操作 */ /* 编程 SHADOW 闪存 */ CFLASH.MCR.R = 0x00000010; /* 在 MCR 中设置 PGM:选择操作 */ *((uint32_t*) 0x203DD8) = 0xFEEDFACE; /* 锁存地址和 32 MSB 数据 */ *((uint32_t*) 0x203DDC) = 0xCAFEBEEF;/* 锁存地址和 32 LSB 数据 */ CFLASH.MCR.R = 0x00000011; /* 在 MCR 中设置 EHV:操作开始 */ while(!CFLASH.MCR.B.DONE); /* 检查 DONE 标志 */ while(!CFLASH.MCR.B.PEG); /* 检查 PEG 标志 */ CFLASH.MCR.R = 0x00000010; /* 复位 MCR 中的 EHV:操作结束 */ CFLASH.MCR.R = 0x00000000; /* 在 MCR 中重置 PGM:取消选择操作 */ /* 程序 SHADOW 闪存 */ CFLASH.MCR.R = 0x00000010; /* 在 MCR 中设置 PGM:选择操作 */ *((uint32_t*) 0x203DE0) = 0x55AA55AA; /* 锁存地址和 32 MSB 数据 */ *((uint32_t*) 0x203DE4) = 0x55AA55AA; /* 锁存地址和 32 LSB 数据 */ CFLASH.MCR.R = 0x00000011; /* 在 MCR 中设置 EHV:操作开始 */ while(!CFLASH.MCR.B.DONE); /* 检查 DONE 标志 */ while(!CFLASH.MCR.B.PEG); /* 检查 PEG 标志 */ CFLASH.MCR.R = 0x00000010; /* 复位 MCR 中的 EHV:操作结束 */ CFLASH.MCR.R = 0x00000000; /* 在 MCR 中重置 PGM:取消选择操作 */ /* 锁定 SHADOW 闪光灯 */ CFLASH.LML.B.TSLK = 1; /* 测试/影子锁定位 */ CFLASH.SLL.B.STSLK = 1; /* 二次测试/影子锁定位 */ while(1) UART0_TX(2); |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1896个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36300 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4365 浏览 0 评论
6022 浏览 1 评论
6742 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4191 浏览 0 评论
601浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
594浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
583浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
673浏览 2评论
758浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 12:21 , Processed in 0.894640 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号