Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
Other MCU/MPU Products
V850
More
Cancel
V850
V850 Forum
【セルフプログラミング】マイコン暴走?
Home
Forum
Tags
More
Cancel
New
Replies
16 replies
Subscribers
443 subscribers
Views
30581 views
Users
0 members are here
startBlk
UB
sst.b
CubeSuite+
FlashEnv
endBlk
Options
Share
More
Cancel
Related
【セルフプログラミング】マイコン暴走?
よっしー9999
over 10 years ago
CubeSuite+を使ってセルフプログラミングの開発をしています。
ライブラリ関数(FlashEnv(1))を実行していると、
逆アセンブルウィンドウでプログラムがストップします。メッセージウィンドウには「不正命令例外により停止しました」
と表示されます。原因が分からないのでアドバイスいただけないでしょうか。
-------------
_SelfLib_FlashEnv_Activate:
b013 sst.b r2\, 0x30[ep]
6119 tst r1\, sp
ff37c765 ld.hu 0x65c6[lp]\, r6
3742 satadd -0x9\, r8
8143 sst.b r8\, 0x1[ep]
fa6f ?
de4f ?
55174431 st.b r2\, 0x3144[r21] <---ここでストップ
45a5 sst.w r20\, 0x88[ep]
fcff ?
-----------
FlashEnv(1)は以下の関数からコールしています。
int erase_mem(UB startBlk\, UB endBlk)
{
__DI(); //マスカブル割込み禁止
FlashEnv(1);
・・・
}
Parents
よっしー9999
over 10 years ago
>みなさま
ありがとうございまうす。
erase_mem()で使っている初期値付ローカル変数の値が代入している初期値と違いました。(ウォッチ式で確認)
なのでスタック破壊が原因かと思います。
スタック消費量を減らしてみようと思います。
Cancel
Up
0
Down
Reply
Cancel
Reply
よっしー9999
over 10 years ago
>みなさま
ありがとうございまうす。
erase_mem()で使っている初期値付ローカル変数の値が代入している初期値と違いました。(ウォッチ式で確認)
なのでスタック破壊が原因かと思います。
スタック消費量を減らしてみようと思います。
Cancel
Up
0
Down
Reply
Cancel
Children
No Data