1. Nội dung thiết kế tốt nghiệp:
4.1.1 Các thiết bị ngoại vi của VĐK
a) Sơ đồ khối VĐK STM32
Hình 4. 1 Sơ đồ khối vi điều khiển STM32F103RC [5]
Hệ thống nhúng ARM cung cấp một phần lớn hơn của dòng chảy dữ liệu bên trong lõi CPU bằng cách truyền dữ liệu nén ở một tỷ lệ rất cao từ STM32F103 thông qua một số lượng nhỏ của các chân ETM để phần cứng bên ngoài cổng thiết
Trang 44
bị (TPA) phân tích. TPA được kết nối với một máy chủ bằng cách sử dụng USB, Ethernet, hoặc bất kỳ kênh tốc độ cao khác.
Hướng thời gian thực và hoạt động của lưu lượng dữ liệu có thể được ghi lại và sau đó định dạng hiển thị trên máy chủ chạy phần mềm chương trình gỡ rối.
b) Ánh xạ bộ nhớ các thiết bị ngoại vi VĐK
Đồ Án Tốt Nghiệp
Trang 45
Bộ nhớ được chia ra làm 8 block mỗi block có dung lượng là 512M byte được đánh địa chỉ từ 0x0000 0000 đến 0xFFFF FFFF.
c) Bộ công cụ hỗ trợ phần mềm dành cho STM32
Vì Keil ARM sử dụng Libraries rời cho dòng STM32 nên khi tạo một Project mới ta phải đính kèm Libraries cho dự án. Thực chất ta hoàn toàn có thể để Libraries ở nơi nào đó tùy thích,việc quan trọng là ta phải thêm đúng đường dẫn đến thư viện trong phần Setup lúc biên dịch là được.
Còn thêm 2 file mà chúng ta nên quan tâm nữa đó là stm32f10x_conf.h và system_stm32f10x.c. 2 file này tốt nhất nên được lưu cùng folder với file main.c để tiện cho việc tìm kiếm.
ST cung cấp cho người dùng bộ thư viện chuẩn lập trình giao tiếp với thiết bị ngoại vi tương thích với chuẩn CMSIS. Thông qua bộ thư viện này, chúng ta dễ dàng giao tiếp với các thiết bị phần cứng chuẩn của các dòng Cortex-M3 của ST.
Thư viện được chia làm 2 phần:
Phần hỗ trợ nhân Cortex-M3: bao gồm mã giao tiếp với nhân CPU, và đoạn mã start up code.
Phần hỗ trợ các thiết bị ngoại vi: chứa toàn bộ các hàm thư viện điều khiển thiết bị ngoại vi của ST.
Cấu trúc thư viện CMSIS như sau:
Library + CMSIS + CM3
+ CoreSupport //thư mục chứa hàm hỗ trợ nhân Cortex-M3 + DeviceSupport
+ ST
+ STM32F10X //System startup code + startup //Start up code
+ Documentation //tài liệu hỗ trợ
+ STM32F10x_StdPeriph_Driver //thư mục chứa hàm hỗ trợ thiết bị ngoại vi
+ inc //thư mục chứa header file + src //thư mục chứa mã nguồn