1.選項(xiàng)字節(jié)的概念(參考stm8s中文數(shù)據(jù)手冊(cè)):
選項(xiàng)字節(jié)包括芯片硬件特性的配置和存儲(chǔ)器的保護(hù)信息,這些字節(jié)保存在存儲(chǔ)器中一個(gè)專用的
塊內(nèi)。除了ROP(讀出保護(hù))字節(jié),每個(gè)選項(xiàng)字節(jié)必須被保存兩次,一個(gè)是通常的格式(OPTx)和
一個(gè)用來(lái)備份的互補(bǔ)格式(NOPTx)。可以在ICP模式(通過(guò)SWIM)下訪問(wèn)下表中EEPROM的地址來(lái)修改選項(xiàng)字節(jié)。
選項(xiàng)字節(jié)也可以通過(guò)應(yīng)用程序在IAP模式下修改,但是ROP選項(xiàng)只能在ICP模式(通過(guò)SWIM)下被
修改。
2.ISP IAP ICP的概念(有待學(xué)習(xí)):
ISP:In System Programing, 在系統(tǒng)編程 程序完全下載
IAP:In applicating Programing,在應(yīng)用編程 我的理解是用應(yīng)用程序去修改芯片里邊固定的一些數(shù)據(jù)(與應(yīng)用編程無(wú)關(guān)的數(shù)據(jù))
ICP:In Circuit Programing, 在電路編程
3.stm8s芯片的備用功能重映射:
stm8s芯片上帶有很多備用的功能,這些功能必須使用重映射功能才能實(shí)現(xiàn),
重映射其實(shí)就是配置某個(gè)flash地址的某一位,使某個(gè)引腳具備備用功能或者默認(rèn)功能的其中一個(gè)
而且一旦功能改,想恢復(fù)原來(lái)的功能必須重新寫入。
比如stm8s的PD4端口具有TIM2_CH1 功能和BEEP功能,默認(rèn)的情況下是TIM2_CH1功能,
當(dāng)我們要用到BEEP功能時(shí)必須寫選項(xiàng)字,將這個(gè)引腳重映射為BEEP功能。
寄存器:
stm8s的多個(gè)備選功能:
4.庫(kù)函數(shù)實(shí)現(xiàn)重映射
//對(duì)于stm8s的選項(xiàng)字地址為0x4803
#define Beep_OptionAdd 0x4803
void Set_Beep_OptionByte(void)
{
uint16_t Beep_Option_status;/*記錄激活備選功能Beep/TIM2_CH1的狀態(tài)*/
Beep_Option_status=FLASH_ReadOptionByte(Beep_OptionAdd);
/*Beep_Option_status的最高位為1激活了Beep,否則不激活,為TIM2_CH1*/
if((Beep_Option_status&0x8000))
{
FLASH_ProgramOptionByte(Beep_OptionAdd, (uint8_t)(Beep_Option_status&0x7fff));
/*向Beep_OptionAdd 0x4803 置0,不激活激活了Beep,恢復(fù)TIM2_CH1通道*/
}
}
上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像
CopyRight 2020-2025 www.toastedesign.com All rights reserved 滬ICP備2021005866號(hào)