Giải pháp công nghệ - Linh kiện điện tử HTPro

http://www.htpro.vn

Cách đọc số định danh Unique ID của chip STM32

Cách đọc số định danh Unique ID của chip STM32
Cách đọc số định danh Unique ID của chip STM32
1. Số định danh unique ID là gì? Ứng dụng ra sao?
Là dãy số 96 bit được lưu trong bộ nhớ không thể xóa của chip STM32. Mỗi con chip STM32 chính hãng sẽ có một dãy số khác nhau, không con nào trùng con nào. Như vậy dãy số này ta có thể dùng để định danh cho từng sản phẩm, hoặc làm khóa cứng cho thiết bị...
Một ứng dụng cơ bản hay sử dụng đó là khi dùng giao tiếp USB trên chip STM32, số UID này sẽ được làm số Serial của thiết bị USB đó ạ.
2. Cách đọc ra số ID của chip STM32
Căn cứ vào từng dòng chip, tìm địa chỉ của nó trong Flash, ví dụ:
- Với dòng F1: địa chỉ unique ID là: 0x1FFFF7E8
- Định nghĩa một biến con trỏ:  
#define STM32_UUID ((uint32_t *)0x1FFFF7E8)
- Sử dụng các giá trị của biến con trỏ: 
printf("Unique ID:0x%08X:0x%08X:0x%08X\r\n",STM32_UUID[0],STM32_UUID[1],STM32_UUID[2]);    
Lưu ý: Dãy số 96 bit này có thể đọc ra theo kiểu single bytes/half-words/words. Sau đó có thể tổ hợp lại theo các thuật toán tùy chỉnh
3. Bảng địa chỉ của một số dòng chip thông dụng:
Dòng chip STM32 Địa chỉ đọc UID
F0 0x1FFF F7AC
F1 0x1FFFF7E8
F2 0x1FFF7A10
F3 0x1FFF F7AC
F4 0x1FFF 7A10
F7 0x1FF0 F420
H7 0x1FFF7590
L0 0x1FF8 007C
Các địa chỉ trên có thể tìm trong Reference manual của từng dòng chip để chính xác hơn các bạn nhé!
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây