c언어에서 함수 프로토타입
int UART_puts(const char *s);
start.S 파일안의 부르는 부분
ldr r0,_str
bl UART_puts
_str:
.word __str1
__str1:
.string "x = "
결과
x =
그냥 부르면 좋은데 하나 건너 불러야 되나...
mov r0, __str1을 하면 #을 붙여야되고
붙인다 쳐도 "x = " 값이 들어가지 주소값은 안들어감..
먼가 좋은 방법이 있긴 있겠지만 난 잘 모르겠다
함수 프로토타입
int UART_printf(const char *format, ...);
start.S 함수호출부분
ldr r0,_str
bl UART_printf
_str:
.word __str1
__str1:
.string "haha x = %x\n"
결과
haha x = 80e608a4
신기할 따름이네..printf를 어셈블러 안에서 쓸 수 있어서 좋아보이기는 하네
근데 chk하는거랑 머가 다른지 모르겠고..문자열을 편집하기가 힘든 만큼 이거는 거의 쓸일 없을듯
'컴퓨터 과학 & 영상처리 관련 > 임베디드' 카테고리의 다른 글
임베디드 시스템의 전형적인 task의 모습 (0) | 2012.05.12 |
---|---|
arm program status registers (0) | 2012.05.10 |
arm에서 문자열 상수 메모리 할당법? (0) | 2012.05.04 |
각 exception 모드별 스택주소 (0) | 2012.04.27 |
TI DM 3780 beagle board U-BOOT에서 명령어들 (0) | 2012.04.27 |