12
返回列表 发新帖
楼主: wilsonX

MC9S08PA系列&SH系列 燒寫FLASH的區別(已解決)

[复制链接]

该用户从未签到

3

主题

18

帖子

0

注册会员

Rank: 2

积分
94
最后登录
1970-1-1
 楼主| 发表于 2014-9-15 15:30:15 | 显示全部楼层
版主你好,我使用的模塊跟你的圖片是 一樣的
另外想詢問在函式中如何得知他是一次寫8個字節
如果要改成一個字節要從哪裡改呢?感謝
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-15 15:56:46 | 显示全部楼层
wilsonX 发表于 2014-9-15 15:30
版主你好,我使用的模塊跟你的圖片是 一樣的
另外想詢問在函式中如何得知他是一次寫8個字節
如果要改成一個 ...

就如8楼我贴的图片,
修改代码:
你操作NVM_FCCOBIX=2,然后只写NVM_FCCOBLO=你想写的字节,NVM_FCCOBHO不写试试。
还有NVM_FCCOBIX=2以上的命令都不操作,看看这样是否可以实现一个字节的写。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

18

帖子

0

注册会员

Rank: 2

积分
94
最后登录
1970-1-1
 楼主| 发表于 2014-9-15 16:42:36 | 显示全部楼层
版主你好,有測試過了 如果沒有寫數值的地方都會變成00,請問該如何解決呢??
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-15 17:14:01 | 显示全部楼层
wilsonX 发表于 2014-9-15 16:42
版主你好,有測試過了 如果沒有寫數值的地方都會變成00,請問該如何解決呢?? ...

那写数值的地方写的正确吗?
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-15 17:14:04 | 显示全部楼层
wilsonX 发表于 2014-9-15 16:42
版主你好,有測試過了 如果沒有寫數值的地方都會變成00,請問該如何解決呢?? ...

那写数值的地方写的正确吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

18

帖子

0

注册会员

Rank: 2

积分
94
最后登录
1970-1-1
 楼主| 发表于 2014-9-15 17:23:49 | 显示全部楼层
寫數值的地方正確了,想再問版主一下,下面這段程式 如果我把FOR迴圈拿掉以後,FLASH就不會寫了後來調試了一下發現要對NVM_FCCOBIX加4次以後才會寫上去,請問這是甚麼原因呢?
while (i < Size) {
    NVM_FCCOBIX = 0U;                  /* Clear index register */
    NVM_FCCOBHI = 0x06U;               /* Program P-Flash command */
    NVM_FCCOBLO = 0U;                  /* High address word */
    NVM_FCCOBIX++;                     /* Shift index register */
    NVM_FCCOB = (word)(PhraseAddr);    /* Low address word */
    for(j = 0U; j < 8U; j += 2U) {
      NVM_FCCOBIX++;                   /* Shift index register */
   
     NVM_FCCOB = *((word *)(Data + i )); /* Load new data */
              i += 2U;
              
    } /* for j */
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-15 17:24:58 | 显示全部楼层
wilsonX 发表于 2014-9-15 16:42
版主你好,有測試過了 如果沒有寫數值的地方都會變成00,請問該如何解決呢?? ...

楼主你好,如果都是00,那么说明,该芯片还是一次8个字节操作,如果想实现一个字节的写,你可以先把这个区域的数据读出来,然后仅仅改变你想要写的区域,其他数据,还是写入你之前读出来的数据,这样看上去就是实现一个字节的写了。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

18

帖子

0

注册会员

Rank: 2

积分
94
最后登录
1970-1-1
 楼主| 发表于 2014-9-16 23:14:23 | 显示全部楼层
瞭解了,感謝版主幫忙
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-9-17 10:34:19 | 显示全部楼层
wilsonX 发表于 2014-9-16 23:14
瞭解了,感謝版主幫忙

不客气,后续如果有问题,欢迎继续交流。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-8-2 18:38 , Processed in 0.093915 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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