성엽이
KKIMSSI
성엽이
전체 방문자
오늘
어제
  • 분류 전체보기 (454)
    • :) (2)
    • C프로그래밍이론 (9)
    • C++프로그래밍 (64)
      • STL (1)
    • C# (2)
    • Visual studio 10.0 (9)
    • AT91SAM7S256 (21)
    • 논리회로 (14)
    • AVR2560 (11)
    • TCPIP (16)
    • NetWork (4)
      • Ubuntu Linux (2)
    • Assembly (21)
    • UNIX 프로그래밍 (6)
    • RFID 분석 (1)
    • Win32 API (7)
    • Cortex-M3 (4)
    • Unity (91)
    • Flutter (9)
    • OwnProject (11)
      • It's mine (5)
      • 마인드스톰 실습 (1)
      • 보고서 자료 (2)
      • RPi B+ (2)
    • ETC (25)
      • 상식 (3)
    • MFC (40)
    • PostgeSQL (18)
    • 영상제어 (6)
      • VFW_영상처리 (1)
    • Python (0)
    • Java (30)
      • SpringBoot (2)
      • Javascript (1)
      • JSP (13)
      • Spring (8)
    • Oracle (4)
      • SQL (3)
    • HTML (6)
      • Thymeleaf (1)
      • CSS (1)
      • Bootstrap (3)
    • IDE (1)
      • VS Code (1)
    • Android (2)
    • Privacy Policy (0)
    • MYSQL (2)
      • MariaDB (2)
    • AWS (5)
    • 개인공부 (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 관리자
  • 글쓰기

공지사항

인기 글

태그

  • Boot Code 분석
  • WINAPI
  • ARM Reverse Engineering
  • 문자열 나누기
  • MFC

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
성엽이

KKIMSSI

2013.04.19_지금까지의 과정정리
AT91SAM7S256

2013.04.19_지금까지의 과정정리

2013. 4. 19. 16:46

▶지금까지의 과정 정리(예:ARM칩)

 

 0. 사용하는 칩의 스펙을 확인하기 위해 제조사를 찾아가 칩의 스펙이 나와있는 pdf 파일을 먼저 찾는다.

 1. Memory Mapping 을 열어 구성을 확인한다.

 2. PIO Controller , 우리가 사용할 핀을 찾는다.

 3. Register Mapping 에서 기준주소를 찾는다. (ex : PIO_PER = 0x00 ) 

 4.' 기준주소 + Offset = 레지스터 주소 추출 ' 를 추출한다.

 5. PIO_OER(출력 활성화) , PIO_PER (핀 활성화) 를 이용해서 간단한 LED 를 켜본다.

 6. 다음 char LCD 를 활용해보기위해서 char LCD 의 스펙을 찾는다.

 7. PIN CONNECTIONS 에 가서 ARM칩과 적당한 PIN 에 맞춰 결선을 하고, 초기화를 하기위한 코딩을 해준다.

 8. char LCD 스펙에 가서 타이밍도를 확인후, 그에 맞춰 함수를 코딩해준다. 

 9. ARM 칩을 잘 사용하려면, 타이밍도를 잘보고 함수를 코딩해주어야하고, #define 문으로 주소, 포인터, 값 등을 잘 활용하여 쓸줄 알아야한다.



▶ ARM_Makefile 에 대해서


※ 스크립트 파일




int
 A;
A = 3; 

 보통의 변수 선언은 위와 같이 하지만, 스크립트 파일 같은 경우는 변수의 타입이 없다.

 적어주는 순간 변수 선언이 되는것으로 이해하면됨. 컴파일하지않아도 바로 실행이 됨.


 ex) ERASE_FCT = rm -rf   >> ERASE_FCT : 스크립트 파일

                          >> rm -rf : rm(지워라!) rf(안지워지는것도 강제로!)

 라는 의미를 가진다.



▶ -D 쓰임

#include < stdio.h >
#ifndef SMART
#define TEST  100
#else
#define TEST  900
#endif 

int main()
{
  printf("%d\n" , TEST);

  return 0;
}

 : 소스해석 : #define SMART 이 없으면 100, 있으면 900을 출력하는 소스



위처럼 -D 뒤에 #define 텍스트를 적고 실행파일을 적으면 #define 을  적어주고 실행한다. 

실제로 텍스트에 바뀌는건 아님

                    ex) cl -DTEST=200 test.c 

                      cl -DTEST=200 test.c 하면 TEST를 200으로 #define 하고 실행할 것이다.



저작자표시 (새창열림)

'AT91SAM7S256' 카테고리의 다른 글

2013.04.23_ARM_cstartup.S읽어보기  (0) 2013.04.23
2013.04.22_makefile읽어보기  (0) 2013.04.22
2013.04.18_Instruction SET 설정하기  (0) 2013.04.18
2013.04.17_타이밍도 LCD_write(), LCD_read() 설정하기  (0) 2013.04.17
2013.04.16_ARM칩_제어전_활성화단계  (2) 2013.04.16
    'AT91SAM7S256' 카테고리의 다른 글
    • 2013.04.23_ARM_cstartup.S읽어보기
    • 2013.04.22_makefile읽어보기
    • 2013.04.18_Instruction SET 설정하기
    • 2013.04.17_타이밍도 LCD_write(), LCD_read() 설정하기
    성엽이
    성엽이

    티스토리툴바