본문 바로가기

환영합니다~45

SAM-BA 설치하기 원래 임베디드 시스템에 컴파일한 소스를 올리려면 ROM WRITER라는 고가의 장비가 필요한데, ATMEL사의 칩에는 SAM-BA라는 프로그램이 내장되어 있어서 롬라이터가 필요없이 프로그램을 올릴 수 있다. 위의 그림은 AT91SAM7S256 칩의 BLOCK DIAGRAM인데, ARM에서 설계한 코어를 탑재하고 있고 롬에 SAM-BA가 내장되어 있음을 확인 할 수 있다. 보드에 내장되어 있는 프로그램을 리셋시키는 방법은 다음과 같다.1. TST ON2. POWER ON3. 10초 대기 -> ROM에서 SAM-BA로 파일을 저장함.(이전 파일은 덮어쓴다.)4. POWER OFF5. TST OFF6. POWER ON 물론 이 방법은 내가 사용하는 보드에 맞는것이고, ARM칩을 탑재한 다른 보드의 경우에는다른.. 2013. 4. 21.
포인터의 증감연산과 포인터의 자료형 #include int main() { int i = 0; char c = 'a'; int *ip = &i; char *cp = &c; printf("ip -> i cp -> c\n"); printf("ip : %p ip + 1 : %p\n", ip, ip+1); printf("cp : %p cp + 1 : %p\n\n", cp, cp+1); ip = &c; cp = &i; printf("ip -> c cp -> i\n"); printf("ip : %p ip + 1 : %p\n", ip, ip+1); printf("cp : %p cp + 1 : %p\n", cp, cp+1); return 0; } 위의 예제에서 보면 int 형 포인터 ip와 char형 포인터 cp는 같은 "포인터 변수" 이.. 2013. 4. 21.
임베디드 프로그래밍에서 bit연산자 활용법(시프트 연산자, OR연산자) * 비트연산자란?데이터를 bit단위로 처리하여 메모리 공간 사용을 효율적으로 사용할 수 있게 해주는 연산자로하드웨어를 다루는 임베디드 시스템에서 유용하게 사용할 수 있다.비트 연산자는 정수계통의 자료형인 char, int, long에만 사용할 수 있다. 연산자 설명 사용 예 결과 시프트(Shift) 연산자 >> 해당 비트만큼 우측으로 이동 0xFF >> 4; 1111 1111 >> 4 → 0000 1111 : 0xF 2013. 4. 16.
#ifndef 조건부컴파일 ※조건부컴파일 C언어는 다양한 환경에서 사용되기 때문에 운영체제나 컴파일러에 따라 일부 함수가 없는 경우도 있으므로, 특정 조건에 만족할 때만 실행되도록 전처리에서 걸러낼 수 있다. 조건부 컴파일에 사용되는 전처리기 지시자는 #if ~ #elif ~ #else ~ #endif와#ifdef ~ #endif, #ifndef ~ #endif가 있다. ① #if ~#elif ~#else ~#endifif - else if - else 문과 같은 형식으로 if와 elif에는 조건식을 달 수 있다.② #ifdef ~ #endif#ifdef는 "if defined"를 줄여쓴 것으로#ifdef 지시자 뒤에 매크로 이름이 선언되어 있으면 전처리 과정을 수행한다.③ #ifndef ~ #endif#ifndef는 "if no.. 2013. 4. 16.