시작하기전에... 이글은 연재성글이 아니라, 본인의 프로젝트(작업) 진행시 일어난 문제를 해결하는 과정을 올리는 글임을 다시 한번 밝힙니다. 본 문에 나오는 __flash 지정자라는 표현은 저만의 임의 표현이며, 올바른 표현은 아닙니다만, 형지정자(const, volatile)와 같은 위치에 쓰이며, 그 의미도 코드나 변수가 놓일 메모리를 가르키는 곳을 나타내는 것이므로, 지정자라는 표현이 많이 벗어난 표현은 아닙니다. 본문 Bootloader 두번째글에서 언급했던, __flash 지정자(IAR 확장 키워드)를 사용하지 못하는 당연한 이유를 알게되었습니다. 알다시피, ATmega128 은 Flash 영역이 0x0000 ~ 0x1FFFF 까지 입니다. 그런데, 매뉴얼을 보니 __flash 지정자는 0x00..
사람들에게 강의적인 정보를 제공하는 것도 아닌데 자꾸만 제목을 이상하게 뽑아서 죄송합니다. 제목과는 다르게 본문은 부트로더를 작성하며 부딪히는 저만의 문제를 다루고 있습니다. 부트로더를 만들면서 8KBytes(boot section flash) + 4KBytes(Internal RAM)안에 맛깔나는 코드를 집어넣기란 그렇게 쉽지 않은 문제입니다. 왜냐하면, 기본적인 환경설정용과 UART(고유패킷 처리)코드만 하더라도 3KBytes 를 넘기고 있습니다. 원래는 더 많은 크기를 자랑하였지만, 필수적인 코드들만 남기고 다 제거하였습니다. 통신패킷중 CRC 처리부분이 들어가 있어서 CRC Table 을 RAM 영역으로 옮기지 않게끔 하기 위해 __flash 란 IAR 컴파일러 지시자를 사용하였습니다. 그런데 이..
제목뽑기가 조금은 선정적인지 이글루 통계에 가보면 리퍼러들이 죄다 구글/다음 검색으로 들어온 것이다. AVR ATmega128 에 Bootloader를 만들어 보게 되었는데, 윤덕용 교수님 책인 'AVR ATmega128 마스터'에도 자세한 정보가 안나와서 결국 데이터쉬트와 어플노트를 참조하게 되었다. 인터넷상에도 avr bootloader 정보들이 넘처나지만, iar 컴파일러에 맞게 쓰기엔 손이 조금 많이 가고, 어차피 uart 부분은 다시 작성해야되기 때문에, Atmel 어플노트를 참조하기로 하였다. 사실 영어가 많이 부족한 편이라, 정말 좋은 자료들을 보고도 내팽개치는게 아닌가 하는 생각이 든다. IAR EWAVR 사용자라면 Atmel 어플노트 리스트중 AVR106: C functions for r..
Winamp 또는 DVD 플 레어를 가정용 리모콘으로 컨트롤 할 수 있는 방벙을 소개합니다. 이미 TweakHardware에 소개되었는데 기기 만드는 방법만 나와 처음에는 별루라 생각이 들었습니다만, 실제 제작하여 IRAssistant 란 프로그램을 이용하면 사용이 쉽고 편리 합니다. 일반적인 리모콘 버튼에 컴퓨터의 어플리케이션 및 기타 미디어 관련 매크로 명령어 지정 할 수 있어 대표적으로 Winamp, PowerDVD, Media Player등 PowerPoint 의 프리젠테이션 기능등 여러가지의 기능을 리모콘으로 컨트롤 할 수 있습니다.A7V에는 이미 적외선 포트가 있지만 옵션사양 입니다. 그러나 좀처럼 옵션파트도 구하기 어렵습니다. 그래서 직접 적외선 포트를 만들어 보기로 합니다. 단 이번의 제작..
- Total
- Today
- Yesterday
- 막장로그
- 프리랜서로 살아남는 법
- Military
- cartoon
- medical
- 3D Engine
- Tech News
- Web Programming
- diary
- Mabinogi
- network
- Reverse Engineering
- Battle
- Information Processor
- humor
- Linux
- wallpaper
- Network Inspector
- BadCode
- C#
- WDB
- 나비효과
- Life News
- USB Lecture
- 짤방 및 아이콘
- win32
- Embedded System
- Assembly
- console
- 야마꼬툰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |