Bài giảng "Lập trình hệ thống nhúng: chương 7 - Bùi Quốc Bảo" trình bày các lưu ý sử dụng chương trình lắp ráp, ví dụ về chương trình lắp ráp, chương trình C. Và một số nội dung khác. . | ARM PROGRAMMING Bùi Qu c B o When use assembly Functions that cannot be implemented in C, such as special register accesses and exclusive accesses Timing-critical routines Tight memory requirements, causing part of the program to be written in assembly to get the smallest memory size BÙI QU C B O 1 Example of assembly program STACK_TOP EQU 0x20002000 ; constant for SP starting value AREA RESET, CODE THUMB DCD STACK_TOP ; Stack top DCD Start ; Reset vector AREA Vect, CODE ENTRY ; Indicate program execution start here Start ; Start of main program MOV r0, #10 ; Starting loop counter value MOV r1, #0 ; starting result ; Calculated 10+9+8+.+1 loop ADD r1, r0 ; R1=R1 + R0 SUBS r0, #1 ; Decrement R0, update ? ag (“S” suf? x) BNE loop ; If result not zero jump to loop, Result is now in R1 deadloop B deadloop ; Infinite loop END C Programming BÙI QU C B O 2 C programming #include "inc/" int main(void) { volatile unsigned long ulLoop; SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF; ulLoop = SYSCTL_RCGC2_R; GPIO_PORTF_DIR_R = 0x08; GPIO_PORTF_DEN_R = 0x08; while(1) { GPIO_PORTF_DATA_R |= 0x08; for(ulLoop = 0; ulLoop extern void strcopy(char *d, char *s); int main() { char *srcstr = "First string - source "; char *dststr = "Second string - destination "; strcopy(dststr,srcstr); return (0); } BÙI QU C B .