導語
在RL78F2x系列MCU的項目開發中,正確設置Option Byte(選項字節)和Security ID(安全ID)是保證芯片安全、配置工作模式(如看門狗、低電壓檢測、復位引腳等)的關鍵一步。面對不同的開發環境,設置方法也各不相同。本文將手把手教你如何在主流的CS+for CC、e2studio和IAR Embedded Workbench中完成這兩項重要配置。
一、基礎概念:它們是什么?
01Option Byte(選項字節):
用于配置MCU的硬件工作模式,例如:
看門狗定時器的啟動模式和周期
低電壓檢測的模式和設定
內部高速振蕩器的頻率
復位引腳功能(是復位引腳還是通用I/O)
片上調試操作的控制
讀Security ID的控制
這些設置需要在程序運行前就生效,對系統的穩定性和安全性至關重要。
02Security ID(安全ID):
存儲在Flash特定區域的密碼,包含16字節的片上調試Security ID和16字節的Flash串行編程Security ID。

主要功能是阻止未經授權的調試和編程,保護您的知識產權。
當使能安全功能后,任何通過調試接口(如片上調試或串行編程)的訪問都必須先驗證這個ID密碼,否則無法連接芯片。
二、實戰配置:三大IDE設置詳解
以下操作均以瑞薩RL78F2x系列為例,具體選項名稱可能因型號略有差異,請參考對應的硬件手冊。
方法一:在CS+ for CC中設置
CS+通過一個直觀的圖形化工具來管理這些設置。
01打開項目
在“Project Tree”中找到并雙擊“CC-RL(Build Tool)”。
02配置Option Byte:
Link OptionsàDevice
“User option byte value”此項用于配置用戶選項字節(000C0H/040C0H ~ 000C2H/040C2H),數值按低位在前格式存儲。具體設定值請參考硬件手冊中“31.2 Format of User Option Byte”章節的內容。
“Option byte values for OCD”此項用于配置片上調試選項字節(000C3H/040C3H)。具體設定值請參考硬件手冊中“31.3 Format of On-chip Debug Option Byte”章節的說明。
“Set debug monitor area”此項用于配置Security選項字節(000C4H/040C4H)。具體設定值請參考硬件手冊中“31.4 Format of Security Option Byte”章節的說明。

03設置Security ID:
Common OptionsàDevice
“Security ID”此項用于配置片上調試Security ID。具體內容請參考硬件手冊中“33.3 On-chip Debug Security ID”章節的說明。
“Serial Programming Security ID”此項用于配置Flash串行編程Security ID。詳情請參考硬件手冊中“32.4 Flash Serial Programming Security ID”章節的說明。

請務必保管好以上Security·ID!
04編譯和下載:
當你編譯項目時,CS+會自動將這些設置與你的程序代碼鏈接,并在編程時一并燒錄到芯片中。
方法二:在e2studio中設置
e2studio基于Eclipse,其設置方式與CS+類似,同樣非常直觀。
01打開項目
在“Project Explorer”中右鍵點擊項目名,選擇“Properties”,C/C++ BuildàSettingsàTool SettingsàLinkeràDevice
02配置Option Byte:
勾選“Set user option byte (-user_opt_byte)”,“User option byte value(-user_opt_byte=)”此項用于配置用戶選項字節(000C0H/040C0H~000C2H/040C2H),數值按低位在前格式存儲。具體設定值請參考硬件手冊中“31.2 Format of User Option Byte”章節的內容。
勾選“Set enable /disable on-chip debug by link option(-ocdbg)”,“On-chip debug control value(-ocdbg=)”此項用于配置片上調試選項字節(000C3H/040C3H)。具體設定值請參考硬件手冊中“31.3 Format of On-chip Debug Option Byte”章節的說明。
勾選“Set security option byte(-security_opt_byte)”,“Security option byte value(-security_opt_byte=)”此項用于配置Security選項字節(000C3H/040C3H)。具體設定值請參考硬件手冊中“31.4 Format of Security Option Byte”章節的說明。

03設置Security ID:
在同一個“Properties”窗口中
“Security ID value(-security_id)”此項用于配置片上調試Security ID。具體內容請參考硬件手冊中“33.3 On-chip Debug Security ID”章節的說明。
“Serial Programming Security ID”此項用于配置Flash串行編程Security ID。詳情請參考硬件手冊中“32.4 Flash Serial Programming Security ID”章節的說明。

輸入Security ID。同樣,請妥善保管。
04生成代碼:
配置完成后,點擊工具欄的“Generate Code”按鈕。
e2studio會自動生成包含這些設置的代碼文件。后續編譯和編程時,這些配置就會生效。
方法三:
在IAR Embedded Workbench中設置
IAR通常采用配置文件和特定pragma指令的方式進行設置。
01配置Option Byte:
推薦方法:使用鏈接器文件。在項目的“Renesas_SCsmc_gen _bspmcu l78_f24vecttbl.c”文件中,通過__root const關鍵字在固定地址定義選項字節數組。
在C源文件中,設置Option Byte。“optbyte0”~“optbyte4”對應User Option Byte (000C0H/040C0H to 000C2H/040C2H)、On-chip Debug Option Byte (000C3H/040C3H)和Security Option Byte (000C4H/040C4H)。

02設置Security ID:
方法與Option Byte類似,Security ID也有固定的存儲地址。
在項目的“Renesas_SCsmc_gen _bspmcu l78_f24vecttbl.c”文件中,通過__root const關鍵字在固定地址定義選項字節數組。
現有代碼中已有片上調試Security ID的配置。

在“vecttbl.c”文件結尾空白處添加代碼,配置Flash串行編程Security ID。
左右滑動查看完整內容
/* Security ID Codes for Flash Serial Programming setting(When using IAR) */
#pragmalocation ="SP_SECUID"
__rootconstuint8_tsp_secuid[16] =
{0xEE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
編譯后它們會被正確分配到Flash的指定位置。
重要提醒
地址是關鍵:在IAR中手動定義時,Security ID和Option Byte的存儲地址必須絕對準確,請務必查閱RL78F2x系列的硬件手冊(R01UH0944E,R01UH1061E)。
備份安全ID:一旦設置了Security ID并啟用安全功能,如果忘記密碼,芯片將永久“鎖死”,無法再次編程或調試。請務必在安全的地方記錄密碼。
先仿真后燒錄:建議先在仿真環境下測試Option Byte的設置效果,確認無誤后再燒錄到實際芯片中,避免錯誤配置導致芯片無法正常工作。
結語
掌握Security ID和Option Byte的設置是RL78F2x開發的必備技能。無論你偏愛哪種IDE,現在都可以輕松搞定。趕緊收藏這篇文章,在下次項目開發時參考吧!
-
芯片
+關注
關注
462文章
53623瀏覽量
460284 -
mcu
+關注
關注
147文章
18669瀏覽量
388979 -
引腳
+關注
關注
16文章
2099瀏覽量
55252 -
開發環境
+關注
關注
1文章
254瀏覽量
17562
原文標題:RL78F2x開發必看:三分鐘搞定CS+、e2studio、IAR下的Security ID與Option Byte設置
文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄

瑞薩RL78F2x系列MCU在三種開發環境下的選項字節與安全ID設置方法
評論