3.2.4.1 Tạo một project nhúng mới
Các phần mềm nền tảng là một khung phần mềm đó tạo điều kiện viết phần mềm để truy cập các thiết bị ngoại vi trên NanoBoard là một phần của thiết kế FPGA. Nó cũng tạo điều kiện cho việc thực hiện các giao thức phần mềm và cung cấp các chức năng bổ sung có thể sử dụng trong các ứng dụng, chẳng hạn như xử lý đa luồng. Về bản chất, nó là một bộ sưu tập các module phần mềm, làm việc như mã nguồn. Những module này sẽ được tự động thêm vào dự án nhúng để làm việc với các cấp thấp khác nhau được yêu cầu để kiểm soát hay thiết bị ngoại vi truy cập. Các mô-đun cũng cung cấp một giao diện cho các ứng dụng, cung cấp chức năng cụ thể (Ví dụ: set_baudrate
(), một chức năng để tự động thay đổi tốc độ truyền).
Đầu tiên ta đi tạo một project nhúng mới bằng cách: Chọn File»New»Project»Embedded Project từ các menu, hoặc bấm Dự án Trống (Embedded) trong phần mới của bảng điều khiển tập tin Files panel.
Các bảng điều khiển dự án sẽ hiển thị một dự án nhúng mới với tên mặc định Embedded_Project1.PrjEmb. Chọn File»Save Project hoặc kích chuột phải vào dự án trong bảng dự án và chọn Save Project . Lưu tập tin thành Embedded_MP3.PrjEmb. Nếu muốn giữ lại các tài liệu dự án nhúng tách từ các tài liệu dự án FPGA, có thể muốn lưu dự án nhúng Embedded Project trong một thư mục con gọi là Embedded
35
dưới thư mục dự án FPGA. Một dự án nhúng có thể được phát triển một cách độc lập nhưng rất nhanh chóng, sẽ muốn chạy nó trên một bộ xử lý đích. Altium Designer có khả năng liên kết dự án nhúng vào một dự án FPGA có chứa một bộ xử lý nhúng.
Hình 3.27 Thao tác tạo dự án nhúng và kéo thả liên kết giữa phần nhúng và MCU
Để liên kết một dự án nhúng đến Bộ xử lý đích của nó, ta thực hiện các bước sau:
-Chắc chắn rằng cả hai dự án nhúng và Dự án (FPGA Embedded Project và FPGA Project) có chứa Bộ xử lý được nạp trong bảng điều khiển dự án.
-Kích hoạt tính năng lựa chọn Structure Editor ở phía trên cùng của bảng điều khiển dự án để chuyển sang chế độ Structure Editor.
-Nhấp chuột trái và kéo Embedded Project trên đầu trang của các dự án FPGA. Bất kỳ mục tiêu Bộ xử lý hợp lệ sẽ được tô màu xanh nhạt. Thả dự án về Bộ xử lý MCU (TSK3000A).
3.2.4.2 Xây dựng Software Platform
Các Software Platform Builder là giao diện người dùng đồ họa sử dụng để cấu hình và thêm mô-đun vào dự án, xây dựng phần mềm nền tảng. Software Platform
Builder xuất hiện khi thêm một tài liệu đặc biệt đến dự án của nhúng: một tập tin Software Platform với phần mở rộng .SwPlatform. Tập tin này đại diện cho cả phần mềm nền tảng cho dự án và cung cấp một giao diện đồ họa để chọn và cấu hình các module cần thiết.
Software Platform Builder có thể đọc thiết kế FPGA và nhập các module ở cấp
thấp thích hợp cho các thiết bị ngoại vi trên thiết kế FPGA. Có thể sử dụng nó như một điểm khởi đầu và thêm các mô đun (cấp cao) vào tập tin Software Platform.
36
Để thêm một phần mềm nền tảng Software Platform và xây dựng nó:
-Nhấn chuột phải vào dự án nhúng trong bảng dự án và chọn Add New to Project»SwPlatform File. Một tài liệu Software Platform trống tên là Software Platform1.SwPlatform sẽ được thêm vào dự án nhúng và hiển thị trong cửa sổ soạn thảo chính.
-Đổi tên tập tin mới được tạo ra bằng cách chọn File»Save As. Điều hướng đến thư mục tương tự như dự án nhúng và gõ tên MP3_Effects.SwPlatform và nhấp vào Save.
-Bước tiếp theo là xây dựng các ngăn xếp thiết bị trong các phần mềm nền tảng. Để bắt đầu, nhấp vào nút Import from FPGA. Điều này sẽ thêm một Wrapper phần cứng cấp thấp cho mỗi mô-đun phần cứng được phát hiện trong các tài liệu OpenBus, được thể hiện bằng các biểu tượng màu xanh lá cây trong hình bên dưới.
-Tiếp theo, phải phát triển mỗi thiết bị chồng lên, từng bước một. Để làm điều này:
• Click một lần vào các màu xanh lá cây Mục đích chung cổng IO bao bọc, Nhấp vào nút Grow Stack Up. Hộp thoại Grow stack sẽ mở ra, bấm một lần vào GPIO Port Driver màu cam và nhấp OK để thêm nó vào ngăn xếp stack.
• Click một lần vào Wrapper I2S Master Controller màu xanh, nhấp vào nút Stack Up Grow, thêm I2S Driver.
• Click một lần vào Wrapper SPI Master Controller màu xanh, nhấp vào nút Grow Stack Up, thêm CS4270 Audio Codec Driver. Sau khi đóng hộp thoại
Grow Stack, sẽ nhận thấy rằng cả SPI Driver và CS4270 Audio Codec Driver đã
được thêm vào stack SPI.
• Click một lần vào Bộ điều khiển Virtual Terminal Instrument màu xanh, nhấp vào nút Grow Stack Up, thêm thuộc tính Serial Device IO Services.
Hoàn thành Software Platform.
Hình 3.28 Hệ thống software Platform
37
3.2.4.3 Thêm file C vào dự án
Để tạo một tập tin C mới và thêm nó vào dự án:
-Nhấn chuột phải vào dự án nhúng trong bảng dự án và chọn Add New to Project»C File. Một tài liệu văn bản trống tên Source1.C sẽ được thêm vào dự án nhúng và hiển thị trong cửa sổ soạn thảo chính.
-Đổi tên tập tin mới được tạo (có phần mở rộng .C) bằng cách chọn File»Save As. Điều hướng đến thư mục tương tự như dự án nhúng và gõ tên main.C và nhấp vào Save.
- Viết mã nguồn C
Bây giờ nhúng Dự án đã được liên kết với một nền tảng phần cứng mà nó có thể thực hiện, đã sẵn sàng để bắt đầu viết một số mã C. Sẽ có những điều chậm và sử dụng phần nhỏ mã này, viết 0x55 giá trị đầu vào tại Cổng A của Digital IO Instrument.
Để thêm một số mã đơn giản vào các dự án nhúng:
-Mở tự động tạo tập tin hardware.h mà bây giờ là một phần của dự án MP3_FPGA.PrjEmb. Quan sát thấy một mục nhập địa chỉ cơ sở của thành phần cổng IO đã được thực hiện. Địa chỉ cơ sở Base_GPIO có thể hơi khác nhau trong thiết kế.
-Mở main.c và nhập mã nguồn sau đây: #include "hardware.h"
#define DIGIO_PORTA (*(unsigned char*)Base_GPIO) void main (void)
{
DIGIO_PORTA = 0x55; }
-Chuyển sang Devices view bằng cách chọn View»Devices View hoặc nhấp vào nút Devices View trên thanh công cụ.
-Nhấp vào mũi tên bên trái của các từ Program FPGA trên nút Program FPGA để chạy lại quá trình xây dựng FPGA.
-Từ Devices view, xác định các dụng cụ kỹ thuật số IO trong JTAG. Kích chuột phải vào công cụ và chọn Instrument để đưa lên Instrument Rack của thiết bị.