请选择 进入手机版 | 继续访问电脑版
查看: 1810|回复: 6

[求助] KEA128Flash模拟EEPROM的起始地址设定需要注意什么

[复制链接]
  • TA的每日心情
    开心
    2019-11-12 13:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    45

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2023-12-19
    发表于 2021-3-12 09:45:43 | 显示全部楼层 |阅读模式
    本帖最后由 apphia 于 2021-3-14 16:04 编辑

    在官网下载了关于《KEA128_EEPROM模拟例程》和程序,在调试过程中出现了如下问题:
    1. 因为用的是KEA128,内存地址是0 ~ 0x20000,我想在0x1A000的地址开始模拟2k的EEPROM,但Flash地址超过0x4000就写入失败,写入操作是先擦除扇区在编程Flash,且扇区未被保护(FTM_FPROT:0x23);
    2. 测试程序生成的HEX文件占用空间为0x3660(如图),我在特定的Flash地址上写一个数据(0x01),发现有的地址(低于0x4000)能写成功,有的地址(超过0x4000)写不成功(如串口信息图),这是为啥?有大神遇到过这种问题吗?求解答,谢谢

    最佳答案

    apphia 发表于 2021-3-15 10:50 是的,难道默认是0x23,就真的只能增加保护区域,不能减少保护区域吗 仔细读原文,复位后,fprot寄存器值是从flash地址的0x40d读的,kineits在flash中都有一个flash configuration区 ...
    测试程序HeX.png
    串口信息.png
    3.png
    编程规则.png
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-12 13:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    45

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2023-12-19
     楼主| 发表于 2021-3-15 08:35:49 | 显示全部楼层
    找到原因了,Flash部分地址范围被保护了,可配置lFTMRE_FPORT寄存器后,有些值配置不上,现在这个寄存器默认的值是0x23(FPOEN为0,FPHDIS为1,FPLDIS为0),尝试修改,只能改到这个状态(FPOEN为0,FPHDIS为1,FPLDIS为1),我怎样可以将FPOEN改为1或将FPHDIS改为0呢?求大神指教
    1.png
    2.png
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    648

    主题

    6301

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19546
    最后登录
    2024-3-28
    发表于 2021-3-15 09:43:54 | 显示全部楼层
    apphia 发表于 2021-3-15 08:35
    找到原因了,Flash部分地址范围被保护了,可配置lFTMRE_FPORT寄存器后,有些值配置不上,现在这个寄存器默 ...

    xx.PNG
    你是改0x40d地址的值吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-12 13:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    45

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2023-12-19
     楼主| 发表于 2021-3-15 10:50:40 | 显示全部楼层
    小恩GG 发表于 2021-3-15 09:43
    你是改0x40d地址的值吗?

    是的,难道默认是0x23,就真的只能增加保护区域,不能减少保护区域吗
    FPORT配置.png
    2.png
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    648

    主题

    6301

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19546
    最后登录
    2024-3-28
    发表于 2021-3-15 10:56:38 | 显示全部楼层
    apphia 发表于 2021-3-15 10:50
    是的,难道默认是0x23,就真的只能增加保护区域,不能减少保护区域吗

    仔细读原文,复位后,fprot寄存器值是从flash地址的0x40d读的,kineits在flash中都有一个flash configuration区域 11.PNG
    你要改这个地方,你的启动文件里是有定义这部分的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-12 13:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    45

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2023-12-19
     楼主| 发表于 2021-3-15 12:59:54 | 显示全部楼层
    本帖最后由 apphia 于 2021-3-15 13:04 编辑
    小恩GG 发表于 2021-3-15 10:56
    仔细读原文,复位后,fprot寄存器值是从flash地址的0x40d读的,kineits在flash中都有一个flash configura ...

    启动文件改了,可是输出的HEX文件中对应的0x400-0x40F值还是不变呀,是我哪个地方没配置好吗
    HEX.png
    配置.png
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-12 13:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    45

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2023-12-19
     楼主| 发表于 2021-3-15 13:16:22 | 显示全部楼层
    小恩GG 发表于 2021-3-15 10:56
    仔细读原文,复位后,fprot寄存器值是从flash地址的0x40d读的,kineits在flash中都有一个flash configura ...

    明白了,下面的被注释掉了。。可是我也没有define RAM_TARGET,为啥会运行成功呢?
                    ;IF      NOT:EF:RAM_TARGET
                    ;AREA    |.ARM.__at_0x400|, CODE, READONLY
                    ;DCB     BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
                    ;DCB     BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
                    ;DCB     0xFF,       0xFF,       0xFF,       0xFF
                    ;DCB     0xFF,       FPROT,      FSEC,       FOPT
                    ;ENDIF
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 05:13 , Processed in 0.142583 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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