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
R8C/Tiny
More
Cancel
R8C/Tiny
R8C/Tiny Forum
電源起動の高速化
Home
Forum
Tags
More
Cancel
New
Replies
11 replies
Subscribers
442 subscribers
Views
6349 views
Users
0 members are here
entake
TCXO20MHz
低速オンチップオシレータ
ncrt0.a30
メインクロック
Options
Share
More
Cancel
Related
電源起動の高速化
entake
over 10 years ago
お世話になっております。entakeと申します。
R8C/1Bシリーズで、
電源ONからメイン処理が動き出すまでの時間を最速で行いたい場合、どのような方法が考えられますでしょうか?
FAQを探っていて、「スタートアップファイル(ncrt0.a30)ではRAMの初期化も行っています。リセット解除後のCPUクロックは低速オンチップオシレータの8分周のため、RAMの初期化に数十ms程度かかる場合があります。」という記述を見つけたので、RAMの初期化をメインクロックに切り替えた後に行うようにすれば良いのでは、等と考えていますが、そんなことは可能なのでしょうか??
他に何かアイデアなどありましたら是非お願い致します。
XINには、TCXO20MHzを接続し、メインクロック切り替え時の発振安定待ち時間を無くすことで、ある程度は早く動くようになりましたが、さらに高速起動を目指しています。
Parents
Kirin
over 10 years ago
entakeさん
失礼しましたTCXOでしたね。水晶振動子だと思い込んでました。
高速化のためならば、RAMの初期化をしないという手もあります。
BSS空間が0クリアされていないくても問題なさそうですし
初期値付きのstatic変数を使わなければ、
ROMからRAMに初期値を転送する必要もないので
かなり高速化できそうです。
試しにRAMコピー部分を全部コメントアウトしちゃったら早くなりそうですよ。
;-----------------------------------------
; bss zero clear
;-----------------------------------------
;N_BZERO bss_SE_top\,bss_SE
;N_BZERO bss_SO_top\,bss_SO
;N_BZERO bss_NE_top\,bss_NE
;N_BZERO bss_NO_top\,bss_NO
;------------------------------------------
; initialize data section
;------------------------------------------
;N_BCOPY data_SEI_top\,data_SE_top\,data_SE
;N_BCOPY data_SOI_top\,data_SO_top\,data_SO
;N_BCOPY data_NEI_top\,data_NE_top\,data_NE
;N_BCOPY data_NOI_top\,data_NO_top\,data_NO
Cancel
Up
0
Down
Reply
Cancel
Reply
Kirin
over 10 years ago
entakeさん
失礼しましたTCXOでしたね。水晶振動子だと思い込んでました。
高速化のためならば、RAMの初期化をしないという手もあります。
BSS空間が0クリアされていないくても問題なさそうですし
初期値付きのstatic変数を使わなければ、
ROMからRAMに初期値を転送する必要もないので
かなり高速化できそうです。
試しにRAMコピー部分を全部コメントアウトしちゃったら早くなりそうですよ。
;-----------------------------------------
; bss zero clear
;-----------------------------------------
;N_BZERO bss_SE_top\,bss_SE
;N_BZERO bss_SO_top\,bss_SO
;N_BZERO bss_NE_top\,bss_NE
;N_BZERO bss_NO_top\,bss_NO
;------------------------------------------
; initialize data section
;------------------------------------------
;N_BCOPY data_SEI_top\,data_SE_top\,data_SE
;N_BCOPY data_SOI_top\,data_SO_top\,data_SO
;N_BCOPY data_NEI_top\,data_NE_top\,data_NE
;N_BCOPY data_NOI_top\,data_NO_top\,data_NO
Cancel
Up
0
Down
Reply
Cancel
Children
No Data