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

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

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

請務(wù)必保管好以上Security·ID!
04編譯和下載:
當(dāng)你編譯項目時,CS+會自動將這些設(shè)置與你的程序代碼鏈接,并在編程時一并燒錄到芯片中。
方法二:在e2studio中設(shè)置
e2studio基于Eclipse,其設(shè)置方式與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=)”此項用于配置用戶選項字節(jié)(000C0H/040C0H~000C2H/040C2H),數(shù)值按低位在前格式存儲。具體設(shè)定值請參考硬件手冊中“31.2 Format of User Option Byte”章節(jié)的內(nèi)容。
勾選“Set enable /disable on-chip debug by link option(-ocdbg)”,“On-chip debug control value(-ocdbg=)”此項用于配置片上調(diào)試選項字節(jié)(000C3H/040C3H)。具體設(shè)定值請參考硬件手冊中“31.3 Format of On-chip Debug Option Byte”章節(jié)的說明。
勾選“Set security option byte(-security_opt_byte)”,“Security option byte value(-security_opt_byte=)”此項用于配置Security選項字節(jié)(000C3H/040C3H)。具體設(shè)定值請參考硬件手冊中“31.4 Format of Security Option Byte”章節(jié)的說明。

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

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

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

在“vecttbl.c”文件結(jié)尾空白處添加代碼,配置Flash串行編程Security ID。
左右滑動查看完整內(nèi)容
/* 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的指定位置。
重要提醒
地址是關(guān)鍵:在IAR中手動定義時,Security ID和Option Byte的存儲地址必須絕對準(zhǔn)確,請務(wù)必查閱RL78F2x系列的硬件手冊(R01UH0944E,R01UH1061E)。
備份安全I(xiàn)D:一旦設(shè)置了Security ID并啟用安全功能,如果忘記密碼,芯片將永久“鎖死”,無法再次編程或調(diào)試。請務(wù)必在安全的地方記錄密碼。
先仿真后燒錄:建議先在仿真環(huán)境下測試Option Byte的設(shè)置效果,確認(rèn)無誤后再燒錄到實際芯片中,避免錯誤配置導(dǎo)致芯片無法正常工作。
結(jié)語
掌握Security ID和Option Byte的設(shè)置是RL78F2x開發(fā)的必備技能。無論你偏愛哪種IDE,現(xiàn)在都可以輕松搞定。趕緊收藏這篇文章,在下次項目開發(fā)時參考吧!
-
芯片
+關(guān)注
關(guān)注
463文章
54429瀏覽量
469367 -
mcu
+關(guān)注
關(guān)注
147文章
19128瀏覽量
403968 -
引腳
+關(guān)注
關(guān)注
16文章
2120瀏覽量
56023 -
開發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
275瀏覽量
17674
原文標(biāo)題:RL78F2x開發(fā)必看:三分鐘搞定CS+、e2studio、IAR下的Security ID與Option Byte設(shè)置
文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
瑞薩RL78/F25 MCU基于CS+開發(fā)環(huán)境創(chuàng)建觸摸應(yīng)用樣例工程
瑞薩RL78/F25 MCU基于IAR開發(fā)環(huán)境創(chuàng)建觸摸應(yīng)用樣例工程
瑞薩RL78/F22 MCU基于IAR開發(fā)環(huán)境創(chuàng)建觸摸應(yīng)用樣例工程
瑞薩RL78F2x系列MCU在三種開發(fā)環(huán)境下的選項字節(jié)與安全I(xiàn)D設(shè)置方法
評論