gd32读取片上flash信息和UID

[复制链接]
6117|12
 楼主| zeshoufx 发表于 2019-7-8 16:59 | 显示全部楼层 |阅读模式
本帖最后由 zeshoufx 于 2019-7-8 17:21 编辑

一、读取片上flash信息地址为=0x1FFFF7E0,其中高十六位为sram信息,低16位为flash信息

二、读取UID地址=0x1FFFF7E8


三、以上两个地址除了E23x的不一样外,,其他系列都一样


四、程序
  1. #include "bitband.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"

  5. #include "get_uid.h"
  6. #include <math.h>


  7. int main(void)
  8. {
  9.         u32 uid[3]={0};
  10.         u32 mem;
  11.         u16 flashsize;
  12.         u16 sramsize;
  13.         u8 i;
  14.         
  15.         delay_init(96);
  16.         nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2);
  17.         usart0_init(115200);
  18.         led_config();
  19.         
  20.         
  21.         mem=get_uid(0x1FFFF7E0);
  22.         sramsize=(mem&0xffff0000)>>16;
  23.         flashsize=mem&0x0000ffff;
  24.         uid[0]=get_uid(0x1FFFF7E8);
  25.         uid[1]=get_uid(0x1FFFF7E8+4);
  26.         uid[2]=get_uid(0x1FFFF7E8+8);
  27.         
  28.         
  29.         
  30.         printf("   静夜思    \r\n");
  31.         printf(" 【唐】李白    \r\n");
  32.         printf(" 床前明月光,\r\n");
  33.         printf(" 疑是地上霜。\r\n");
  34.         printf(" 举头望明月,\r\n");
  35.         printf(" 低头思故乡。\r\n");
  36.         
  37.         
  38.         while(1)
  39.         {
  40.                
  41.                 i++;
  42.                 if(i%50==0)
  43.                 {
  44.                         led1=!led1;
  45.                         printf("Flash Size=%d k,Sram Size=%d k\r\n",flashsize,sramsize);
  46.                         printf("UID=%x %x %x\r\n",uid[0],uid[1],uid[2]);                        
  47.                 }
  48.                 delay_nms(20);
  49.         }
  50. }

五、运行结果
597145d230a5e72ca4.png
589065d2305d4b7ab3.png
gxp6604 发表于 2019-12-16 15:55 | 显示全部楼层
uid地址你哪看的
 楼主| zeshoufx 发表于 2019-12-16 16:01 | 显示全部楼层

用户手册
gxp6604 发表于 2019-12-16 17:17 | 显示全部楼层

嗯啊,我看用户手册 基地址是0x1FFF F7AC
 楼主| zeshoufx 发表于 2019-12-16 17:35 | 显示全部楼层
gxp6604 发表于 2019-12-16 17:17
嗯啊,我看用户手册 基地址是0x1FFF F7AC

你的是什么型号的,,,,
xdqfc 发表于 2019-12-17 10:29 | 显示全部楼层
基地址:0x1FFF F7AC,楼主那个地址是哪里来的啊
gxp6604 发表于 2019-12-17 11:21 | 显示全部楼层
zeshoufx 发表于 2019-12-16 17:35
你的是什么型号的,,,,

看的GD32F3XX系列的
 楼主| zeshoufx 发表于 2019-12-17 11:26 | 显示全部楼层
xdqfc 发表于 2019-12-17 10:29
基地址:0x1FFF F7AC,楼主那个地址是哪里来的啊。

682415df84ae0c0afb.png
 楼主| zeshoufx 发表于 2019-12-17 11:28 | 显示全部楼层
gxp6604 发表于 2019-12-17 11:21
看的GD32F3XX系列的

30x的就是这个地址,,,3x0的你看一下
gxp6604 发表于 2019-12-18 14:56 | 显示全部楼层
zeshoufx 发表于 2019-12-16 17:35
你的是什么型号的,,,,

嗯啊,我这个是3X0的,基地址不一样
liuzi511 发表于 2022-6-17 17:47 | 显示全部楼层
经过我测试发现同一批次的UID是一样的,所以并不是唯一的。不知道大家测的结果是不是如此呢?
 楼主| zeshoufx 发表于 2022-6-18 09:04 | 显示全部楼层
liuzi511 发表于 2022-6-17 17:47
经过我测试发现同一批次的UID是一样的,所以并不是唯一的。不知道大家测的结果是不是如此呢? ...

哪款型号
caizhiwei 发表于 2023-5-16 09:33 | 显示全部楼层
OK!
nr@root:I/Root            [2000-01-01T15:06:07] EasyLogger V2.2.0 is initialize success.
FatFS mounted OK!
uuid = -1--1--1
CK_SYS = 240000000 Hz
CK_AHB = 240000000 Hz
CK_APB1 = 60000000 Hz
CK_APB2 = 120000000 Hznr@root:I/Root            [2000-01-01T15:08:04] EasyLogger V2.2.0 is initialize success.
FatFS mounted OK!
uuid = 926032944-70791989-859124788
CK_SYS = 240000000 Hz
CK_AHB = 240000000 Hz
CK_APB1 = 60000000 Hz
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

1991

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部