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

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

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

請務(wù)必保管好以上Security·ID!
04編譯和下載:
當(dāng)你編譯項(xiàng)目時(shí),CS+會(huì)自動(dòng)將這些設(shè)置與你的程序代碼鏈接,并在編程時(shí)一并燒錄到芯片中。
方法二:在e2studio中設(shè)置
e2studio基于Eclipse,其設(shè)置方式與CS+類似,同樣非常直觀。
01打開項(xiàng)目
在“Project Explorer”中右鍵點(diǎn)擊項(xiàng)目名,選擇“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=)”此項(xiàng)用于配置用戶選項(xiàng)字節(jié)(000C0H/040C0H~000C2H/040C2H),數(shù)值按低位在前格式存儲(chǔ)。具體設(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=)”此項(xiàng)用于配置片上調(diào)試選項(xiàng)字節(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=)”此項(xiàng)用于配置Security選項(xiàng)字節(jié)(000C3H/040C3H)。具體設(shè)定值請參考硬件手冊中“31.4 Format of Security Option Byte”章節(jié)的說明。

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

輸入Security ID。同樣,請妥善保管。
04生成代碼:
配置完成后,點(diǎn)擊工具欄的“Generate Code”按鈕。
e2studio會(huì)自動(dòng)生成包含這些設(shè)置的代碼文件。后續(xù)編譯和編程時(shí),這些配置就會(huì)生效。
方法三:
在IAR Embedded Workbench中設(shè)置
IAR通常采用配置文件和特定pragma指令的方式進(jìn)行設(shè)置。
01配置Option Byte:
推薦方法:使用鏈接器文件。在項(xiàng)目的“Renesas_SCsmc_gen _bspmcu l78_f24vecttbl.c”文件中,通過__root const關(guān)鍵字在固定地址定義選項(xiàng)字節(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也有固定的存儲(chǔ)地址。
在項(xiàng)目的“Renesas_SCsmc_gen _bspmcu l78_f24vecttbl.c”文件中,通過__root const關(guān)鍵字在固定地址定義選項(xiàng)字節(jié)數(shù)組。
現(xiàn)有代碼中已有片上調(diào)試Security ID的配置。

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