Kết hợp hai ngôn ngữ C và Assembler để xây dựng một chơng trình trên Code Composer

Một phần của tài liệu NGHIÊN CỨU ÁP DỤNG HỆ PHÁT TRIỂN DSP DÙNG CODE COMPOSER (Trang 94 - 95)

- Link Command File: Khi một đề án đã đợc xây dựng và biên dịch thành công (không báo lỗi compiler), chúng sẽ đợc dịch sang dạng tệp nhị phân (với tên mở

3.2.2.4. Kết hợp hai ngôn ngữ C và Assembler để xây dựng một chơng trình trên Code Composer

dịch cho họ TMS320 F/C24x theo ngôn ngữ C chuẩn (ANSI). Do vậy các hàm vào- ra cũng nh các thủ tục xử lý ngắt sử dụng trong chơng trình là các hàm phổ dụng quen thuộc và đợc trình bày khá chi tiết trong nhiều tài liệu về lập trình trên ngôn ngữ C. có thể tham khảo chi tiết hơn về TMS320F/C24x C Language theo tài liệu đi kèm bộ Code Composer Studio.

3.2.2.4. Kết hợp hai ngôn ngữ C và Assembler để xây dựng một chơng trình trên Code Composer Code Composer

Trong Code Composer, các bớc xây dựng một executable file (có tên mở rộng là *.out) từ một source file (có tên mở rộng là *.c hoặc *.asm) đợc chỉ ra ở hình 3-22.

Compiler Text

Editor Assembler Linker

Hình 3-22. Minh hoạ quá trình xây dựng một file nguồn .c

.asm .obj

Link.cmd

Nh hình 3-22 chỉ ra, khi xây dựng chơng trình bằng ngôn ngữ C chúng ta phải mất một bớc biên dịch sang ngôn ngữ Assembler rồi mới chuyển thành các file object. Do vậy tốc độ chơng trình chậm hơn khi ta xây dựng trực tiếp từ ngôn ngữ Assembler. Hơn thế nữa, ngôn ngữ Assembler còn hỗ trợ khả năng lập trình song song (đã trình bày ở phần trên). Do vậy khi xây dựng chơng trình bằng ngôn ngữ này, sẽ cho lại một hiệu quả cao nhất. Tuy nhiên, nhợc điểm của ngôn ngữ Assembler là tập lệnh nhiều, rất khó xây dựng, cài đặt thuật toán và gỡ rối với những chơng trình lớn. Một giải pháp đợc đặt ra để có thể tận dụng tối đa các u điểm là xây dựng một chơng trình bằng cách kết hợp cả hai ngôn ngữ. Khi này, chơng trình chính sẽ đợc xây dựng bằng ngôn ngữ C. Các phần cần u tiên tốc độ xử lý hoặc thao tác thấp (nh các hàm phục vụ yêu cầu ngắt cứng) sẽ đợc viết riêng bằng Assembler. Sau đó chúng đợc biên dịch một cách độc lập với nhau thành các file obj và link vào một file khả chạy duy nhất. Đây là một giải pháp thờng đợc áp dụng trong các bài toán thực tế.

Trên đây là toàn bộ quá trình xây dựng một project cũng nh biên dịch và nạp chơng trình cho DSP họ ’F/C24x trên Code Composer. Tiếp theo, chúng ta sẽ sử dụng các bớc xây dựng chơng trình đã trình bày ở trên để xây dựng một chơng trình điều khiển và xử lý cụ thể cho EVM DSP C24x .

Một phần của tài liệu NGHIÊN CỨU ÁP DỤNG HỆ PHÁT TRIỂN DSP DÙNG CODE COMPOSER (Trang 94 - 95)