查看: 4056|回复: 6

[已解决] 飞思卡尔 ep100的 p-flash读写问题?【已解决】

[复制链接]

该用户从未签到

7

主题

33

帖子

0

注册会员

Rank: 2

积分
117
最后登录
1970-1-1
发表于 2014-12-12 20:30:05 | 显示全部楼层 |阅读模式
本帖最后由 xu944789415 于 2014-12-31 08:58 编辑

现在呢我了解了d-flash的读写方法!那么不分页的p-flash呢?怎么读写? 不分页的p-flash一共32kb,我把数据定义到了这里面主要是为了读方便,存在d-flash里面读可能比较麻烦!是不是擦除不分页的p-flash还得一样应用全局地址进行擦写,需要高位地址和低位地址?可不可以直接进行擦写啊?其地址是0x4000-0x8000,没用到分页寄存器!刚接触这一块!请高手指教!最好能附上例程!谢谢!!!
我知道答案 目前已有6人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2014-12-13 09:48:37 | 显示全部楼层
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    33

    帖子

    0

    注册会员

    Rank: 2

    积分
    117
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-15 15:19:18 | 显示全部楼层
    我想问一下! 这个我搜到了!谢谢!里面不懂得一点是:需要把代码拷贝到ram里面运行?这个代码是什么?我看的例子是一连串数组的代码?有什么联系吗?为什么要考到ram里面运行?谢谢!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-12-19 14:07:55 | 显示全部楼层
    xu944789415 发表于 2014-12-15 15:19
    我想问一下! 这个我搜到了!谢谢!里面不懂得一点是:需要把代码拷贝到ram里面运行?这个代码是什么?我看 ...

    在他代码的flash.c中有:
    //由于在Flash擦写时会在Flash区产生高压,造成擦写不稳定,本工程把在高压时执行
    //的程序转换成机器码存放在RAM区,在执行擦写操作时,执行RAM区0的机器码,
    //擦写操作稳定,该机器码存放在下面数组中,其中'0x3D'是'RTS'的机器码
    const uchar P[18] = {0x18,0x0B,0x80,0x01,0x05,0xF6,0x01,0x05,0x87,
                         0x87,0xC4,0x40,0x8C,0x00,0x00,0x27,0xF4,0x0A};
                                                 //FSTAT=0x80;
                                                 //while(!(FSTAT&0x80));
    uchar PrgOfRam[18];                          /*存放RAM区执行的的机器码 */


    void PrgToRAM(void)
    {
      uchar i=0x00;
      for (i=0; i<18; i++)
        PrgOfRam = P;
    }

    P是flash中格的代码,然后他定义了PrgOfRam数组,这个数组定义就是放在RAM中,这样就实现所谓的FLASH代码放到RAM中
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    33

    帖子

    0

    注册会员

    Rank: 2

    积分
    117
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-31 08:57:55 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-19 14:07
    在他代码的flash.c中有:
    //由于在Flash擦写时会在Flash区产生高压,造成擦写不稳定,本工程把在高压时执行 ...

    谢谢!您
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    33

    帖子

    0

    注册会员

    Rank: 2

    积分
    117
    最后登录
    1970-1-1
     楼主| 发表于 2014-12-31 09:00:10 | 显示全部楼层
    FSL_TICS_ZJJ 发表于 2014-12-19 14:07
    在他代码的flash.c中有:
    //由于在Flash擦写时会在Flash区产生高压,造成擦写不稳定,本工程把在高压时执行 ...

    另外 是不是不同的单片机 都有固定的 存放ram区的数组和机器码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-12-31 09:59:33 | 显示全部楼层
    xu944789415 发表于 2014-12-31 09:00
    另外 是不是不同的单片机 都有固定的 存放ram区的数组和机器码

    其实数组定义到ram的方法是一种普遍的方法,和单片机型号无关。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 13:29 , Processed in 0.097138 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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