① stm8s103f3p6封裝用什麼型號的燒錄器
從晶元的數據手冊來看,晶元的封裝是TSSOP20,通常來說需要編程器+適配器的燒錄方式來實現。比如說我手頭上的SmartPRO 5000U+就能燒錄這個晶元,而且支持在線編程,不需要適配器也能寫晶元,其中@ICPLine就是在線編程。截圖供參考
② STM8S103F2P6用什麼編程器、燒錄器好
STM8S103F2P6這個晶元是TSSOP20封裝。可以用Elnec品牌的燒錄器編程,如BeeProg.
③ 新手進門,請教STM8用什麼編譯器和開發工具
IAR for STM8介紹、下載、安裝與注冊:
http://blog.csdn.net/ybhuangfugui/article/details/52936636
④ STM8S103F3P6 可以使用那種燒寫器燒寫程序
使用ST-Link就可以燒錄,燒錄器可以在某寶上購買,十幾元的就可以了,一直在用,沒什麼問題,作為初學者買太貴的代價太高了。
⑤ ST-LINK是干什麼用的是不是跟J-LINK一樣
ST-LINK是一個用於STM8和STM32微控制器系列的在線調試器和編程器,也是大家口中的下載器。junction link 接合鏈路,就是ARM板上要用的JLINK。
ST-Link具有SWIM、JTAG / SWD等通信介面,用於與STM8或STM32微控制器進行通信(各版本有差異)。
一,ST-LINK三種介面說明:
1,SWIM:Single Wire Interface Mole,單線介面模塊。
2,JTAG:Joint Test Action Group,聯合測試工作組,是一種國際標准測試協議。
3,SWD:Serial Wire Debugging,串列調試介面。
4,STM8使用USB全速介面與ST Visual Develop(STVD集成開發環境)或ST Visual Program(STVP編程軟體)進行通信。
5,STM32使用USB全速介面與ATOLLIC®,IAR™,KEIL™或TASKING™集成開發環境進行通信。同時,與STVP、STM32 ST-LINK utility、STM32CubeProg編程軟體進行通信。
二,ST-Link硬體:
1,ST-Link的硬體,官方推出了三大版本:V1、V2和V3。同時,在ST開發板上也自帶有ST-Link工具,但其ST-Link版本因開發板不同而各有不同。
2,ST-Link三大版本硬體上差異還是比較大,所以相應功能也有差異,後續逐漸講述,下面認識一下各版本硬體。
⑥ 准備使用stm8,編譯器用IAR還是COSMIC好
悲劇的STVD,感覺要比STM32的keil差很多埃從stm32退步到stm8,我有種找不到北的感覺,雖然都是ST公司的產品,但是差好多埃編譯器到底是用STVD還是用IAR啊? 哎,經過一番掙扎,我看還是去IAR那吧。
⑦ 如何實現STM8的程序加密可以使用其RC校驗碼嗎
stm8具有唯一id,可以利用這個id做程序加密
例如
#define ID_ENCRYPT_EOR_RESULT_ADDRESS (0x9ff0)
#define ID_ENCRYPT_ADD_RESULT_ADDRESS (0x9ff4)
void Stm8s103EncryptDemo(void)
{
uint32 *u16IdAddress;
uint16 u32EorRslt, u16AddRslt;
//千萬別顯式的讀取ID,即要把0x4865運算成隱式的,例如此例中0x4865 = (0x1194 * 4) + 0x215;
//這樣,別人就算破解出了你的程序,也查找不到0x4865,這樣就不能輕易的軟解密,這樣處理後如果要軟解密,
//一定要反匯編出來進行復雜逆向分析,難度極大,代價極高,很難搞定軟加密了,達到保護產品的目的。
gU16IdAdressVar = 0x1194;
gU16IdAdressVar <<= 2;
u16IdAddress = (uint16*)(gU16IdAdressVar + 0x215);//0x4865
//讀取單片機的ID,並進行運算,具體演算法可以自己定,這里只用到簡單的異或及和運算
u16EorRslt = (*u16IdAddress) ^ (*(u16IdAddress + 1)) ^ (*(u16IdAddress + 2));
u16AddRslt = (*u16IdAddress) + (*(u16IdAddress + 1)) + (*(u16IdAddress + 2));
//進行對比,如果運算結果與FLASH保存的結果不一樣,說明非法,運行錯誤代碼
if(u16EorRslt != *((uint16*)ID_ENCRYPT_EOR_RESULT_ADDRESS))
{
while(1);//異或演算法結果不正確,進行錯誤分支
}
if(u16AddRslt != *((uint32*)ID_ENCRYPT_ADD_RESULT_ADDRESS))
{
while(1);//和演算法結果不正確,進行錯誤分支
}
}
1,如果板子上有外部存儲器,可以先編寫一個程序,利用演算法把id計算得到一些值存入外部存儲器,然後再燒寫真正的程序,真正的程序去校驗外部存儲器的數據是否合法即可
2,利用板子上按鍵組合,或是上電按住某些鍵,程序在這個時候利用演算法把id計算得到一些值存入程序區(stm8為EE區),程序運行時去驗證程序區數據是否正確
3,軒微編程器有軟體加密的功能,編程器會讀晶元id,根據演算法直接改寫緩沖區,達到軟體加密的作用
4,讀出的id通過一定演算法,例如異或加上一個數,得到的數據存入flash(只運行一次,運行後標志位也存入flash),下次讀到這個標志位,就不運行這個程序
⑧ STM8S 應該使用什麼編譯器軟體
stvd 和 iar for stm8
⑨ stm8燒寫器壞了 燒寫器可以燒stm32但是不能燒寫stm8的了 為什麼 求解
因為stm8採用SWIM(單線介面模式),而STM32則採用的是20針的SWJ調試埠(serial wire and JTAG) ,所有互不影響的
⑩ stm8l051f3可以用j-link編程器嗎
ST-LINK是一個用於STM8和STM32微控制器系列的在線調試器和編程器 junction link 接合鏈路,就是ARM板上要用的JLINK