운영체제 썸네일형 리스트형 Mac OSX 에서 binutils 소스 컴파일시 링크 에러 문제 참조 : http://stackoverflow.com/questions/30947126/building-a-cross-compile-of-binutils-on-os-x-yosemite Mac 운영체제에서 Static 라이브러리를 생성하는 것은 AR 이 아니란다.StackOverflow 에 따르면 libtool의 -static -o 옵션을 이용하여 생성한다고 한다. 이것때문에 컴파일할 경우 원래의 ar을 사용하여 cross compiler 를 생성시 아래의 오류가 나오게 된다. "_xrealloc", referenced from: _get_filenum in dwarf2dbg.o _input_scrub_next_buffer in input-scrub.o _read_symbol_name in read.o _.. 더보기 OSX 에서의 ld 재설치 문제 보통 binutils 라이브러리를 직접 컴파일 하여 설치 할 경우 링커가 생성되기 마련이다이러한 링커의 명령어 이름은 ld 로 되어있으며 .. 왠만한 Architecture 에서는 다 실행파일 포벳을 지원하므로 설치가 가능하다 하지만... 이상하게 맥운영체제 OSX 에서는 ld 가 직접 컴파일을 하여도 생성되지 않는 것이였다.이유를 찾아보았다. 우선 대표적인 툴인 Homebrew 에서는 어떻게 생각하는지를 알아보았더니...https://github.com/Homebrew/homebrew/issues/28729 이러한 이슈를 발견 할 수 있었다.Maintiner이상급으로 한명의 덧글을 인용해 보자면 OSX의 바이너리 파일 포벳에 대한 링커생성을 기본적으로 binutils 라이브러리에서 지원하지 않는다는 것.. 더보기 RaspBerry PI의 쓰임새를 찾음 RaspBerry PI의 쓰임새를 찾음 JTAG Interface 를 올려서 GPIO로 JTAG을 대신하도록 만들 생각이다.뭐.. 모니터도 되니깐 디버깅도 되도록 하면 최강이겠지? 드디어 라파이을 써먹을 곳을 찾앗다!!! 이거야!! 이거!! 우선 OS제작을 위해 Bootloader 즉 EZ-Boot 와 U-Boot를 분석하고 Linux Kernel 분석이 완료되는 대로 바로 라파이를 이용하여 JTAG Interface로 사용하기 위한 정보 수집에 들어간다.근데 라파이의 GPOI를 JTAG으로 만들려면 한국자료는 없는듯 하다. 그래서 영문자료를 찾아가면서 만들어야 하기에 조금 시간이 걸릴듯 싶다. 더보기 ezboot 분석 bootloader bl0 우선 시작하기에 앞서 bl0 부분이 뭐하는 부분이고 뭘 담당하는지를 알아보고자 한다. bl0 이라하면 iROM code section 을 의미하는 것으로써 internel Memory(iROM)에 상주 하면서 각종 하드웨어적인 초기화를 담당하게 된다. 이러한 초기화 과정에서 CPU의 상태를 인지하도록 되어있으며 부팅 저장소를 결정하도록 되어있다.이러한 부팅 저장소로는 SD-Card / T-Flash, SATA, SSD 등이 될 수 있다. 자 !! 그럼 여기서 iRom이 뭔지 궁금할 수 있다.각종 인터넷의 자료를 찾아보면 CPU의 내부영역 즉 Internal 영역에는 각각 작은 메모리 저장공간인 ROM과 RAM 이란것이 존재하며 이는 CPU내부에 존재한다 하여 Internal 을 축약해 iROM, iRAM.. 더보기 ezboot bootloader의 뜻 그리고 분석의 시작 임베디드가 되었든 PC가 되었든 부팅을 위한 시작 영역이 존해하며 이 시작영역점은 각각 다 다른 구조로 작동하게 되어있다. 어느것이든 처음 전원이 인가되면 Reset 루틴이 실행되도록 되어있으며 이 리셋 루틴은 PC의 경우 부트로더에 해당하는 맨 처음 512 MB 영역 즉 1섹터에 대한 데이터들을 복사하여 0x7c00번지에 올리게 되어있으므로 PC에서 부트로더를 작성시 상대 주소를 이를 기준으로 작성하도록 되어있다. 부트로더는 512MB라는 제한된 크기의 공간때문에 각종 하드웨어적인 초기화 루틴과 커널을 불러와서 메모리에 적제시키는 역할을 수행하는것이 일반적이다.하지만 이러한 커널이 존재하지 않을 경우 PC(Personal Computer)에서는 오류메시지를 화면에 띄우고 더이상 진행시키지 않도록 되어져.. 더보기 s5pv210 ez-boot bootloader 분석 s5pv210 MCU는 ARM 계열의 코어를 사용하며 ARM Cortex-A8 의 Core CPU 입니다.영문 위키를 찾아본 결과 Armv7 아키텍쳐를 사용한다고 되어있습니다. ez-boot 의 분석은 편할것 같습니다.대부분이 한글로 작성되어진 것때문이죠. 우선 맨처음 살펴볼 것은 Makefile 입니다. 각종 컴파일 옵션이 존재하지만 우선적으로 make 명령을 사용하여 컴파일을 실행할 경우 MCU 옵션과 BOARD_DEFINE 옵션을 이용하여 타켓 보드와 아키텍쳐를 설정할 수 있는것을 알 수 있습니다. 이 파일에서는 필요한 하위 디렉토리까지 함께 make 시키는 역활을 하고 있는것 이외에는 특별한 기능을 수행하지 않습니다. Makefile을 살펴본 바로는 컴파일 순서가 lib/lwip 우선 라이브러리를.. 더보기 MCU s5pv210 대상으로 RTOS 제작 시작 falinux 에서 판매하는 g100-s5pv210 보드를 대상으로 Real Time OS 제작을 시작합니다. http://wiki.falinux.com/doku.php?id=product:g100-s5pv210위사이트에서 EZ-Boot 와 Kernel 소스를 다운받습니다. 이후 분석은 이 카테고리에서 진행됩니다.시간나는대로 U-Boot도 분석합니다. 더보기 라즈베리 파이의 CPU와 GPU 개인용 OS 개발 머신으로 사용하려고 정보 수집중 아래 글을 발견... http://raspberrypi.stackexchange.com/questions/7122/level-of-hackability-of-raspberry-pi The most important thing you should know is that the RaspberryPi is a strange beast where the ARM CPU is the not main CPU - it's only a co-processor to the VideoCore GPU. 응?? 아니 ARM core 계열 이래서 ARM OS 제작용으로 쓰려는데 ARM CPU가 메인 CPU가 아니란다... 저글에 따르면 ARM CPU 는 GPU를 위한 보조 코어에.. 더보기 이전 1 다음