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++;
    }
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值