大家好,
在程序中存储用户数据时遇到问题
闪存。
我使用普通代码:
mc->MC_FCR = AT91C_MC_WRITE_KEY | AT91C_MC_FCMD_START_PROG | (页<< 8);
低于0x100000的写入工作正常,在此地址及更高地址处,
处理器崩溃。
我尝试过的各种SAM7模型似乎都出现了问题。
任何的想法?这是映射问题吗?
谢谢
无法写入闪存
开始于 ●2007年7月12日
回覆者 ●2007年7月12日2007-07-12
弗雷德里克写道:
> Hi all,
>
>在程序中存储用户数据时遇到问题
> flash memory.
>
>我使用普通代码:
>
> mc->MC_FCR = AT91C_MC_WRITE_KEY | AT91C_MC_FCMD_START_PROG | (页<< 8);
>
>低于0x100000的写入工作正常,在此地址及更高地址处,
> processor crashes.
>
>我尝试过的各种SAM7模型似乎都出现了问题。
>
您正在使用哪个SAM7?
> Hi all,
>
>在程序中存储用户数据时遇到问题
> flash memory.
>
>我使用普通代码:
>
> mc->MC_FCR = AT91C_MC_WRITE_KEY | AT91C_MC_FCMD_START_PROG | (页<< 8);
>
>低于0x100000的写入工作正常,在此地址及更高地址处,
> processor crashes.
>
>我尝试过的各种SAM7模型似乎都出现了问题。
>
您正在使用哪个SAM7?
回覆者 ●2007年7月12日2007-07-12
SAM7XC256和SAM7S256会出现此问题。
闪存为0x40000字节[%6kB],并映射到0x100000,即 范围= 0x100000至0x13FFFF。
请注意,我没有尝试覆盖任何代码。我是
实际上试图写入0x13FF00,这不是
用过的。
卡加拉·阿奎兹(Caglar Akyuz)写道:
> Hi all,
>
>在程序中存储用户数据时遇到问题
> flash memory.
>
>我使用普通代码:
>
> mc->MC_FCR = AT91C_MC_WRITE_KEY | AT91C_MC_FCMD_START_PROG | (页<< 8);
>
>低于0x100000的写入工作正常,在此地址及更高地址处,
> processor crashes.
>
>我尝试过的各种SAM7模型似乎都出现了问题。
>
您正在使用哪个SAM7?
雅虎!群组连结
闪存为0x40000字节[%6kB],并映射到0x100000,即 范围= 0x100000至0x13FFFF。
请注意,我没有尝试覆盖任何代码。我是
实际上试图写入0x13FF00,这不是
用过的。
卡加拉·阿奎兹(Caglar Akyuz)写道:
> Hi all,
>
>在程序中存储用户数据时遇到问题
> flash memory.
>
>我使用普通代码:
>
> mc->MC_FCR = AT91C_MC_WRITE_KEY | AT91C_MC_FCMD_START_PROG | (页<< 8);
>
>低于0x100000的写入工作正常,在此地址及更高地址处,
> processor crashes.
>
>我尝试过的各种SAM7模型似乎都出现了问题。
>
您正在使用哪个SAM7?
雅虎!群组连结
回覆者 ●2007年7月12日2007-07-12
弗雷德里克写道:
>SAM7XC256和SAM7S256会出现此问题。
>
>闪存为0x40000字节[%6kB],并映射到0x100000,即 范围= 0x100000至0x13FFFF。
>
我正在使用SAM7X256并成功写入地址0x0013FF00。那里
是1024页,并且您正在成功写入512以下的页面。是吗
在计算页面时可能会犯一些错误
您的代码中的数字?以防万一...
问候
凯格拉尔(Caglar AKYUZ)
>SAM7XC256和SAM7S256会出现此问题。
>
>闪存为0x40000字节[%6kB],并映射到0x100000,即 范围= 0x100000至0x13FFFF。
>
我正在使用SAM7X256并成功写入地址0x0013FF00。那里
是1024页,并且您正在成功写入512以下的页面。是吗
在计算页面时可能会犯一些错误
您的代码中的数字?以防万一...
问候
凯格拉尔(Caglar AKYUZ)
回覆者 ●2007年7月12日2007-07-12
卡加拉·阿奎兹(Caglar Akyuz)写道:
> ffredrik wrote:
>>SAM7XC256和SAM7S256会出现此问题。
>>
>>闪存为0x40000字节[%6kB],并映射到0x100000,
>即范围= 0x100000至0x13FFFF。
>>我正在使用SAM7X256并成功写入地址0x0013FF00。那里
>是1024页,并且您正在成功写入512以下的页面。是吗
>在计算页面时可能会犯一些错误
>您的代码中的数字?以防万一...
>
喔喔喔!请忽略此。对不起,垃圾。
您在第一封邮件中说:
“低于0x100000的写入可以正常工作,在此地址及更高地址处,
处理器崩溃”
如果您的闪存映射到0x100000,如何在0x100000以下写入?一世
认为您根本没有写任何东西要闪烁。
我想您的Flash编写例程有问题,可能是
它们不驻留在RAM中,可能未禁用中断或
地址有问题...
问候
凯格拉尔(Caglar AKYUZ)
> ffredrik wrote:
>>SAM7XC256和SAM7S256会出现此问题。
>>
>>闪存为0x40000字节[%6kB],并映射到0x100000,
>即范围= 0x100000至0x13FFFF。
>>我正在使用SAM7X256并成功写入地址0x0013FF00。那里
>是1024页,并且您正在成功写入512以下的页面。是吗
>在计算页面时可能会犯一些错误
>您的代码中的数字?以防万一...
>
喔喔喔!请忽略此。对不起,垃圾。
您在第一封邮件中说:
“低于0x100000的写入可以正常工作,在此地址及更高地址处,
处理器崩溃”
如果您的闪存映射到0x100000,如何在0x100000以下写入?一世
认为您根本没有写任何东西要闪烁。
我想您的Flash编写例程有问题,可能是
它们不驻留在RAM中,可能未禁用中断或
地址有问题...
问候
凯格拉尔(Caglar AKYUZ)
回覆者 ●2007年7月12日2007-07-12
那里错了。
该例程位于SRAM中,并且禁用了ints。
问候
凯格拉·阿库兹(Caglar Akyuz)写道:
> ffredrik wrote:
>>SAM7XC256和SAM7S256会出现此问题。
>>
>>闪存为0x40000字节[%6kB],并映射到0x100000,
>即范围= 0x100000至0x13FFFF。
>>我正在使用SAM7X256并成功写入地址0x0013FF00。那里
>是1024页,并且您正在成功写入512以下的页面。是吗
>在计算页面时可能会犯一些错误
>您的代码中的数字?以防万一...
>
喔喔喔!请忽略此。对不起,垃圾。
您在第一封邮件中说:
“低于0x100000的写入可以正常工作,在此地址及更高地址处,
处理器崩溃”
如果您的闪存映射到0x100000,如何在0x100000以下写入?一世
认为您根本没有写任何东西要闪烁。
我想您的Flash编写例程有问题,可能是
它们不驻留在RAM中,可能未禁用中断或
地址有问题...
问候
凯格拉尔(Caglar AKYUZ)
雅虎!群组连结
该例程位于SRAM中,并且禁用了ints。
问候
凯格拉·阿库兹(Caglar Akyuz)写道:
> ffredrik wrote:
>>SAM7XC256和SAM7S256会出现此问题。
>>
>>闪存为0x40000字节[%6kB],并映射到0x100000,
>即范围= 0x100000至0x13FFFF。
>>我正在使用SAM7X256并成功写入地址0x0013FF00。那里
>是1024页,并且您正在成功写入512以下的页面。是吗
>在计算页面时可能会犯一些错误
>您的代码中的数字?以防万一...
>
喔喔喔!请忽略此。对不起,垃圾。
您在第一封邮件中说:
“低于0x100000的写入可以正常工作,在此地址及更高地址处,
处理器崩溃”
如果您的闪存映射到0x100000,如何在0x100000以下写入?一世
认为您根本没有写任何东西要闪烁。
我想您的Flash编写例程有问题,可能是
它们不驻留在RAM中,可能未禁用中断或
地址有问题...
问候
凯格拉尔(Caglar AKYUZ)
雅虎!群组连结
回覆者 ●2007年7月12日2007-07-12
弗雷德里克写道:
>抱歉,忘了写0x40000以下的内容,我当时 wrong there.
>该例程位于SRAM中,并且禁用了ints。
>
我想你的意思是0x100000 :)
然后我不知道该说些什么,也许您被困在
未对齐的内存访问,发布您的代码将提供更多信息。
亲切的问候,
凯格拉尔(Caglar AKYUZ)
>抱歉,忘了写0x40000以下的内容,我当时 wrong there.
>该例程位于SRAM中,并且禁用了ints。
>
我想你的意思是0x100000 :)
然后我不知道该说些什么,也许您被困在
未对齐的内存访问,发布您的代码将提供更多信息。
亲切的问候,
凯格拉尔(Caglar AKYUZ)
回覆者 ●2007年7月13日2007-07-13
你好
我无法从详细信息中解释您遇到的问题
看过。您已经写出代码已用完RAM,并且
中断被阻止,这是正确的。
您是否正在等待FLASH发出信号,说明它已经完成
写?准备好要离开该地区吗
(尽管我不认为这将取决于地址)。
例如。
MC_FCR =(FLASH_KEY | FCMD_WP |(ulPage<<8));
而(!(MC_FSR& FLASH_READY)) {}
问候
标记
www.uTasker.com
我无法从详细信息中解释您遇到的问题
看过。您已经写出代码已用完RAM,并且
中断被阻止,这是正确的。
您是否正在等待FLASH发出信号,说明它已经完成
写?准备好要离开该地区吗
(尽管我不认为这将取决于地址)。
例如。
MC_FCR =(FLASH_KEY | FCMD_WP |(ulPage<<8));
而(!(MC_FSR& FLASH_READY)) {}
问候
标记
www.uTasker.com
回覆者 ●2007年7月14日2007-07-14
嗨,马克,
我等待写操作完成,直到您完成。
处理器捕获到“未定义的指令”
我尝试写MC_FCR
弗雷德里克
马克·布彻(Mark Butcher)写道:嗨
我无法从详细信息中解释您遇到的问题
看过。您已经写出代码已用完RAM,并且
中断被阻止,这是正确的。
您是否正在等待FLASH发出信号,说明它已经完成
写?准备好要离开该地区吗
(尽管我不认为这将取决于地址)。
例如。
MC_FCR =(FLASH_KEY | FCMD_WP |(ulPage<<8));
而(!(MC_FSR& FLASH_READY)) {}
问候
标记
www.uTasker.com
雅虎!群组连结
我等待写操作完成,直到您完成。
处理器捕获到“未定义的指令”
我尝试写MC_FCR
弗雷德里克
马克·布彻(Mark Butcher)写道:嗨
我无法从详细信息中解释您遇到的问题
看过。您已经写出代码已用完RAM,并且
中断被阻止,这是正确的。
您是否正在等待FLASH发出信号,说明它已经完成
写?准备好要离开该地区吗
(尽管我不认为这将取决于地址)。
例如。
MC_FCR =(FLASH_KEY | FCMD_WP |(ulPage<<8));
而(!(MC_FSR& FLASH_READY)) {}
问候
标记
www.uTasker.com
雅虎!群组连结
回覆者 ●2007年7月14日2007-07-14
弗雷德里克
您要在汇编器中调试吗?听起来好像程序
在这种情况下,从RAM运行的文件已损坏。我认为没有理由
否则,处理器在写入MC_FCR时应陷阱。
尝试逐步浏览assember中的代码(因为您不使用C代码,
可能不会看到汇编器是否损坏)
正常工作,并注意所使用的说明(以及对齐方式)
[拇指或手臂模式]加上处理器模式[主管,用户等]
处理器状态中的中断屏蔽位的状态和状态
登记)。然后在失败的情况下重复,可能您会
看到差异-例如操作模式或说明
它正在尝试执行。
不幸的是,您遇到的令人讨厌的问题。我一直在写
SAM7X256中FLASH的最后一个扇区,最近没有任何
困难,所以我不希望出现一些奇怪的芯片错误。
问候
标记
http://www.uTasker.com
---在A ...中,ffredrik写道:
>
> Hi Mark,
>
>我等待写操作完成,直到您完成。
>处理器捕获到“未定义的指令”
>我尝试写MC_FCR
>
> Fredrik
>
>马克·布彻(Mark Butcher)写道:嗨
>
>我无法从详细信息中解释您遇到的问题
>看过。您已经写出代码已用完RAM,并且
>中断被阻止,这是正确的。
>
>您是否正在等待FLASH发出信号,说明它已经完成
>写?准备好要离开该地区吗
>(尽管我不认为这将取决于地址)。
>
> Eg.
>MC_FCR =(FLASH_KEY | FCMD_WP |(ulPage<<8));
> while (!(MC_FSR & FLASH_READY)) {}
>
> Regards
>
> Mark
>
> www.uTasker.com
>
>
> Yahoo! Groups Links
>
您要在汇编器中调试吗?听起来好像程序
在这种情况下,从RAM运行的文件已损坏。我认为没有理由
否则,处理器在写入MC_FCR时应陷阱。
尝试逐步浏览assember中的代码(因为您不使用C代码,
可能不会看到汇编器是否损坏)
正常工作,并注意所使用的说明(以及对齐方式)
[拇指或手臂模式]加上处理器模式[主管,用户等]
处理器状态中的中断屏蔽位的状态和状态
登记)。然后在失败的情况下重复,可能您会
看到差异-例如操作模式或说明
它正在尝试执行。
不幸的是,您遇到的令人讨厌的问题。我一直在写
SAM7X256中FLASH的最后一个扇区,最近没有任何
困难,所以我不希望出现一些奇怪的芯片错误。
问候
标记
http://www.uTasker.com
---在A ...中,ffredrik写道:
>
> Hi Mark,
>
>我等待写操作完成,直到您完成。
>处理器捕获到“未定义的指令”
>我尝试写MC_FCR
>
> Fredrik
>
>马克·布彻(Mark Butcher)写道:嗨
>
>我无法从详细信息中解释您遇到的问题
>看过。您已经写出代码已用完RAM,并且
>中断被阻止,这是正确的。
>
>您是否正在等待FLASH发出信号,说明它已经完成
>写?准备好要离开该地区吗
>(尽管我不认为这将取决于地址)。
>
> Eg.
>MC_FCR =(FLASH_KEY | FCMD_WP |(ulPage<<8));
> while (!(MC_FSR & FLASH_READY)) {}
>
> Regards
>
> Mark
>
> www.uTasker.com
>
>
> Yahoo! Groups Links
>