瑞薩 RH850/F1KM-S4 是 RH850/F1x 系列中的一組單芯片微控制器,專為汽車車身電氣應用而設計,其具有功耗低,內部閃存范圍 3MB-4MB,封裝 100-272 引腳不等。此外,所有產品都增加了 CAN FD 和以太網接口以及硬件安全模塊,CPU 工作頻率也提高到 240MHz。接下來將通過某汽車客戶在實際應用中遇到的網關軟件問題案例,為大家介紹瑞薩 RH850 啟動時間加快解決方案。 問題描述 客戶反饋 F1KM-S4 (R7F701649) 軟件啟動時間在 RAM 清零時,占用時間超長,從 MCU 上電到軟件進入 main 函數約 65ms;終端客戶設備啟動后需在 200ms 以內加入到 CAN 網絡中;客戶嘗試在 startup 啟動文件中去除 RAM 清零動作,但設備在斷開調試器后設備無法正常工作。下圖為客戶實測 MCU 啟動波形:
問題排查及解決方案
一、利用客戶代碼使用 CS+ 調試實測,發現 MCU 由 RESET 到 main 函數時間為 68ms,基本與客戶示波器波形時間一致。
二、分析 startup.850 文件,MCU 啟動基本有如下圖所示 7 個步驟,同時在啟動步驟中也沒有發現任何異常。
三、單步調試定位耗時代碼,確定耗時在 RAM 清零部分。
四、查閱芯片手冊對于 RAM 描述,發現 RAM 在讀寫是與 CPU 時鐘有密切關系,如下圖所示:
五、依據芯片手冊描述,分析 startup 啟動文件。從而在步驟 6 代碼解析中發現跳轉硬件初始化描述,并且檢查在 __lowinit 函數中只對休眠保留 RAM 是否進行清零操作,并沒有實際硬件初始化動作。由于 RAM 讀寫是與 CPU 時鐘有關,且在啟動步驟 1 到 6 并沒有進行時鐘初始化動作,故 CPU 時鐘使用內部低速默認時鐘,從而影響到 RAM 讀寫時間。
六、增加 __lowinit 初始化 CPU 時鐘相關代碼。
七、修改驗證。修改后 RAM 清零時間約為 5.4ms,比原來快 10 倍左右。
總結 根據上述的客戶案例問題解析,可以得出以下幾點經驗:
1. 根據手冊 RAM 說明分析,RAM 讀寫時間是根據 CPU 時鐘確定的;
2. RH850 帶有 RAM ECC 功能,客戶在做功能安全相關時需要進行 RAM ECC 檢測,stratup 時必須將 RAM 清零防止 ECC 錯誤發生,故啟動時需要將 RAM 清零不能去掉此部份代碼;
3. 軟件在 startup 啟動階段未加入 CPU 時鐘初始化動作,導致 RAM 清零耗時過長;
4. 在 startup 階段加入 CPU 時鐘初始化,也符合 startup 中 lowinit 規則,此方式修改不影響軟件其他功能。
本文主要介紹了瑞薩 RH850 啟動時間加快解決方案,另外 RH850 U2A 系列 MCU,也可以參考此方案進行優化。
-
微控制器
+關注
關注
48文章
7649瀏覽量
152102 -
mcu
+關注
關注
146文章
17317瀏覽量
352630 -
以太網
+關注
關注
40文章
5460瀏覽量
172718 -
瑞薩
+關注
關注
35文章
22310瀏覽量
86736
原文標題:瑞薩 RH850 啟動時間加快解決方案
文章出處:【微信號:駿龍電子,微信公眾號:駿龍電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論