1. Trang chủ
  2. » Công Nghệ Thông Tin

lập trình c cho hệ thống nhúng

27 788 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 212,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phần mềm với “Super loop”z Vấn đề: Một môi trường phần mềm tối thiểu cần để tạo ra một chương trình C cho hệ nhúng là gì?... Phần mềm với “Super loop”... Phần mềm với “Super loop”z Ưu đi

Trang 3

Tại sao lại là C ??

ngôn ngữ bậc cao và ngôn ngữ bậc thấp

z Có các chương trình dịch cho các uP hệ nhúng 8 bit đến 32 bit

ngôn ngữ này rất nhiều

Trang 4

Yêu cầu lập trình C cho MCS51

z Đã biết ngôn ngữ lập trình: Jawa, C++, Basic

z Có cơ sở về ngôn ngữ C.

z Sử dụng Keil C Compiler.

Trang 5

Phần mềm với “Super loop”

z Vấn đề:

Một môi trường phần mềm tối thiểu cần để tạo

ra một chương trình C cho hệ nhúng là gì?

Trang 6

Phần mềm với “Super loop”

Trang 7

Phần mềm với “Super loop”

z Ưu điểm:

viêt, gỡ rối, kiểm tra, duy trì hoạt động

z Hiệu quả cao, thực hiện với phần cứng tối thiểu

z “Super loop” rất nhỏ gọn

Trang 8

Phần mềm với “Super loop”

z Nh ược điểm:

z Nếu ứng dụng yêu cầu độ chính xác thời gian thì

nó không đáp ứng được và không mềm dẻo

z Lúc nào cũng hoạt động ở công suất tối đa Tiêuthụ nhiều điện

Trang 9

"Hello, Embedded World"

Trang 11

Keil C compiler

Trang 12

z Tạo ra một Project với Keil C

Trang 14

Keil C compiler

z Bộ nhớ xa (far memory): far

Trang 15

Keil C compiler

z Mô hình tổ chức bộ nhớ:

z Small: các biến chứa trong bộ nhớ trong (data)

z Compact: các biến có thể chứa trong 1 trang 256 byte của bộ nhớ ngoài (pdata)

Trang 16

Keil C compiler

z Kiểu của bộ nhớ:

Trang 17

Keil C compiler

Example:

char data var1;

char code text[] = "ENTER PARAMETER:"; unsigned long xdata array[100];

float idata x,y,z;

unsigned int pdata dimension;

unsigned char xdata vector[10][4][4];

char bdata flags;

Trang 18

Keil C compiler

z Kiểu của dữ liệu:

Trang 19

Keil C compiler

z Đặt biến vào vị trí bộ nhớ:

type memory_space variable_name _at_

constant ;

Trang 20

Keil C compiler

struct link

{

struct link idata *next;

char code *test;

};

Struct link list idata _at_ 0x40; /* list at idata 0x40 */

char xdata text[256] _at_ 0xE000; /* array at xdata 0xE000 */ int xdata i1 _at_ 0x8000; /* int at xdata 0x8000 */

void main ( void ) {

link.next = (void *) 0;

i1 = 0x1234;

text [0] = 'a';

}

Trang 21

Keil C compiler

z Con trỏ:

char *s; /* string ptr */ int *numptr; /* int ptr */ long *state; /* Texas */

Trang 22

Keil C compiler

char * xdata strptr; /* generic ptr stored in xdata */ int * data numptr; /* generic ptr stored in data */ long * idata varptr; /* generic ptr stored in idata */

Trang 23

Keil C compiler

char data *str; /* ptr to string in data */

int xdata *numtab; /* ptr to int(s) in xdata */ long code *powtab; /* ptr to long(s) in code

*/

Trang 24

Keil C compiler

char data * xdata str; /* ptr in xdata to data char */

int xdata * data numtab; /* ptr in data to xdata int */

long code * idata powtab; /* ptr in idata to code long */

Trang 25

Keil C compiler

z Hàm: C cho MCS51 có một số mở rộng cho hàm như sau:

z …

Trang 26

Keil C compiler

return_type funcname (args) {small | compact

| large} reentrant interrupt n using n

Trang 27

Keil C compiler

Ngày đăng: 05/07/2014, 04:01

TỪ KHÓA LIÊN QUAN

w