J-Link 向RAM中寫唯一序列號

    硬件準備:J-Link 一個,STM32F103C8T6 的開發板子一塊

    軟件準備: Setup_JLink_V600d 版本的J-Flash

 前期的創建new project, 對Options的Project Setting 的Genneral/ Target Interface/ MCU/Flash的選項卡,不作太多詳細的說明,大家做項目應該會設置。

在最後一個Projection 的選項卡中 Program serial number

 

Address 指定燒寫的地址   (這裏我們燒寫的地址取 0x0800 F000)

Len  指定燒寫長度,最大4個字節

Next SN  指定第一次要燒寫的十進制數,之後自動根據Increment 數值遞增 (十進制: 123456789,對應的十六進制爲:075BCD15 )

Increment  序列號遞增的間隔

配置好之後,點擊“OK”,設置完畢(只設置一次即可),然後連接目標芯片“Target->Connect”,連接成功,點擊“Auto”。

然後再讀出整個Flash 內存   Target->Read back-> Entire chip

可見序列號已經按照要求寫入到指定的地址了。

下一步就是從程序中讀Flash,然後存儲在buff中。

 可以參考如下程序:

#define  FLASH_ADDR (0x800F000)
uint8_t Read_Flash_ID_Buff[4];
void ReadFlashGdata(void)
{
    uint8 p;
    uint16 count=0;
        
    memset(Read_Flash_ID_Buff,0,sizeof(Read_Flash_ID_Buff));
        RCC_HSICmd(ENABLE);
        
    while(count < 4)
    {
        p=*(u8 *)(FLASH_ADDR + count*1);   //讀取方法 
                Read_Flash_ID_Buff[count]=p;
        count++;
    }
        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章