* º» °ÀÇ´Â ´Ü¸»±â/À¯¹«¼±Åë½Å Àåºñ
µîÀÇ S/W ¿Í Æß¿þ¾î¿Í °°Àº ÀÓº£µðµå ½Ã½ºÅÛ °³¹ßÀÚ¸¦ À§ÇÑ ±âº» °ÁÂÀÔ´Ï´Ù.
º» °Á´ ÀúÀÚÀÇ ºí·Î±× (recipes.egloos.com)
¿¡ °ø°³µÈ ±Û·Î½á, RF±âÃʰÀǽÇÀÇ ÀڸżÀûÀ¸·Î Ã¥Àڷεµ ¹ß¸ÅµÇ¾î
ÀÖ½À´Ï´Ù. * Ã¥ÀÚ ±¸ÀÔÀº À§ ¸µÅ©¸¦ ÂüÁ¶ÇϽñâ
¹Ù¶ó¸ç, ÇöÀç 9¿ù 13ÀϱîÁö 10%ÇÒÀο¹¾à Á¢¼öÁßÀÔ´Ï´Ù.
1)
Hardware ²Ã¶óÁê (Collage) - ȸ·Îµµ Àбâ
¨Í
Hardware ²Ã¶óÁê
¨Î ½ÅÈ£¿Í
Á֯ļö ¿µ¿ª - Spectrum Analysis ¨Ï
Analog ½ÅÈ£¿Í Digital
½ÅÈ£, ±×¸®°í Ground ¨Ð Ãʰ£´Ü
ȸ·ÎÀÌ·Ð R(ÀúÇ×), L(ÀδöÅÍ), C(ijÆÐ½ÃÅÍ) ¨Ñ
Ãʰ£´Ü ȸ·ÎÀÌ·Ð ÀÀ¿ë - ÇÊÅÍ (Filter) ¨Ò
Æ®·£Áö½ºÅÍ 1%¸¦ ¨Ó Pull up, Pull down
±×¸®°í Open Collector ¨Ô RLC¿Í Transistor
Êï ¨Õ ³í¸®È¸·Î·ÎÀÇ È®Àå ¨Ö
IC ±âº» ¨× Register ³Í ´©±¸³Ä ¨Ø
Clock À̶õ ¨Ù Bus Transfer Mechanism ¨Ú Timing ±×¸®°í Spec Àб⠨Û
MemoryÀÇ ¼±Á¤°ú XIP ¨Ü
RAM MemoryÀÇ ¹°¸®Àû µ¿ÀÛ ¨Ý È®Àå
to the CPU - How CPU works ¨Þ CPUÀÇ
µ¿ÀÛ ¿¹¿Í Pipe line
2)
Microprocessor ¾Æ¶ã¸®¿¡ (Atelier) - ARMÀ» ÆÄÇìÃÄ º¸ÀÚ
¨Í
Microprocessor ¾Æ¶ã¸®¿¡ ¨Î ARM inside
¨Ï ARM mode¿Í THUMB mode ¨Ð
ARM µ¿ÀÛ Modes - ³ª´Â ¾î´À Mode¸¦ ½á¾ß Çϳª ¨Ñ
ARM Register¿Í Context ¨Ò ARM Exception°ú
Modes ¨Ó ARM - Thumb PCS ; Register
»ç¿ë¹ý ¨Ô ARMÀº Interrupt ³¿»õ¸¦ ¾î¶»°Ô
¸Ã´Â°¡ ¨Õ ARM SoC (System On Chip) -
ARM ±×·¸°í ¸»°í ¨Ö AMBA¿Í Bus À̾߱â
3)
Software µ¥²Ù¹ÙÂé (Decoupage) - SoftwareÀÇ Á¤Ã¼¿Í ¸¸µé±â
¨Í
Little Endian°ú Big Endian ¨Î ÄÄÆÄÀÏ¿¡
´ëÇÑ ´Ü»ó ¨Ï ÄÄÆÄÀÏ °øÀå À̾߱⠨Ð
¿øÇÏ´Â ÄÄÆÄÀÏÀ» ÇØº¸ÀÚ ¨Ñ Preprocess
(-E option)°ú #include ¨Ò Assembly·Î
¸¸µå´Â ¹æ¹ý ¨Ó Library¸¦ ¸¸µéÀÚ - ³²ÇÑÅ×
º¸¿©ÁÖ±â ½È¾î ¨Ô LibÀ» ±îº¸ÀÚ ¨Õ
ÄÄÆÄÀÏ·¯ optionµé ¨Ö º¯¼öÀÇ scope¿Í ±×
»ý¾Ö (Memory Map) ¨× Memory Map°ú Symbol
ÀÌ¾ß±â ¨Ø ELF format Object FileÀÇ Áø½Ç ¨Ù
Linker¸¦ ¸¶¹«¸® ÁþÀÚ - ELF¿Í fromelf±îÁö! ¨Ú
Scatter Loading - Linker Description Script ¨Û
MAP file ºÐ¼® ¨Ü Memory
Map°ú LinkerÀÇ ¸¸³² Locator ¨Ý
MakefileÀº ¹»ÇÏ´Â ³à¼®Àϱî~ ¨Þ ÄÄÆÄÀÏÀ» ´õ´õ´õ ½±°Ô. MACRO¿Í SUFFIX ¨ß Á¶±Ý ´õ
Make Å×Å©´Ðµé ¨à Make
optionµé
4)
ARM ¹ÌÀå¼¾ - ARM Á¦¾îÀÇ ±¸Çö
¨Í
ARM Assemlby¸¦ ÆÄÇìÃÄ º¸ÀÚ ADS VS GNU ¨Î
´ëÃæÀÇ °£´ÜÇÑ Assembly¿Í Reverse Engineering ¨Ï
ARM Thumb mode¿Í S Á¢¹Ì»ç ¨Ð ARM°ú Thumb
»çÀÌÀÇ Veneer (º£´Ï¾Æ) ¨Ñ
Inline Assembly¿Í INTLOCK()±¸Çö ¨Ò Pipeline°ú
ExceptionÀÇ °ü°è, ±×¸®°í ^ Á¢¹Ì»ç ¨Ó
Exception Vector Table (EVT)°ú °¢ HandlerÀÇ ±¸Çö ¨Ô
SWIÀÇ Áø½Ç ¨Õ Coprocessor Assembly ¨Ö
Bootloader¿Í Memory Budget (Mapfile) - ¾î¶»°Ô º¯¼ö¸¦ ÃʱâÈ ÇÒ °ÍÀΰ¡ ¨×
Reset Handelr¿¡¼ main (Entry point)±îÁö ¨Ø
Scatter Loading°ú Booup - __user_initial_staqckheap
5)
Software ºñ³×ÆÃ (Vinetting)
¨Í
Context¿Í AAPCS ¨Î Pointer¿Í ¹è¿Àº ¼Ò³à½Ã´ë¿Í
¿ø´õ°É½º, ±×¸®°í ÀÌÁß Æ÷ÀÎÅÍ ¨Ï struct¿Í
typedef, ±×¸®°í PACKED ¨Ð Stack°ú Heap¿¡
°üÇÑ ¼Ò°í ¨Ñ StackÀÇ Á¤Ã¼¿Í ÀÚ¼¼È÷
º¸±â - initialization ±îÁö ¨Ò ÇÔ¼ö°¡
ºÒ·ÈÀ» ¶§ ÀϾ´Â ÀÏ - Stack µÚÁö±â ½Å°ø ¨Ó
Stack µ¿ÀÛÀÇ ºñ¹Ð°ú ½ÇÁ¦ ¸Þ¸ð¸® ´ýÇÁ ¨Ô
Stack Size´Â ¾î¶»°Ô Àâ´Â°¡ ¨Õ ÇÔ¼ö Æ÷ÀÎÅÍ¿Í
½ÇÇàÁÖ¼Ò º¯°æ ¨Ö Linked List¿Í Queue
6)
RTOS ÆÑÅ丮 - Kernel À̾߱â
¨Í RTOS¿Í Kernel ¨Î
Embedded Software´Â ¹«ÇÑ·çÇÁ ¨Ï TaskÀÇ
±¸Á¶¿Í Signal ¨Ð TaskÀÇ »óÅÂ, Task´Â
Service´ÜÀ§¿Í ISR ¨Ñ Preemptive (¼±Á¡Çü)
MultitaskingÀ̶õ µµ´ëü ¨Ò Context Swtiching°ú
TCB - Task »óź¯È ¨Ó TCB - Task Control
Block ¨Ô SchedulerÀÇ ±¸Çö ¨Õ
ISRÀº ¾î¶»°Ô ±¸ÇöÇØ - ¼±Á¡Çü°ú ºñ¼±Á¡Çü ¨Ö
¼±Á¡Çü Kernel¿¡¼ wait, send, clr signalÀÇ ±¸Çö°ú IRQ Handler ¨×
Clock Tick ISR - Timer Service ¨Ø ATOMIC
- Critical Section, Mutex, Semaphore ¨Ù
Interrupt ¿Í Polling ¨Ú Task Lock ¨Û
Queue¿Í Inter Task Communication ¨Ü DPC³ª
APC, ±×¸®°í Bottom Half ¨Ý Watchdog°ú
Sleep ¨Þ BootupÁß Kernel·ÎÀÇ ÁøÀÔ - main()
ÇÔ¼ö - ¨ß KernelÀ» Æ÷ÆÃÇÑ´Ù´Â °Í
7)
Device Control and System Architecture
¨Í Device¸¦
Control ÇÑ´Ù´Â °Í ¨Î Register¸¦ SettingÇÑ´Ù´Â
°Í°ú Memory Mapped I/O ¨Ï Memory Device¸¦
Control ÇÑ´Ù´Â °Í ¨Ð Bus Sizer Register¿Í
Memory Controller - ¸Þ¸ð¸® È®À屸¼º°ú CS¿ÍÀÇ °ü°è ¨Ñ
ƯÀÌÇÑ Device InterfaceÀÇ CS¿Í AddressÀÇ ÀÌ¿ë - LCD ¨Ò
ShadowÀÇ °³³ä°ú Bit operation ¨Ó CÀÇ
Á¶¹Ì·á MACRO Å×Å©´Ðµé ¨Ô Synchronous¿Í
Asynchronous´Â ¸Ó³Ä ¨Õ Wait State À̾߱⠨Ö
PLL°ú M/N:D ¨× GPIO (Tristate Buffer)ÀÇ
Á¤Ã¼¿Í GPIO ISR ¨Ø DMA - CPU¸ô·¡ ¿µÂ÷
¿µÂ÷ ¨Ù Interrupt ¿Í Polling ¨Ú
Cache, Cash ¨Û MMU¸¦ ¿ÏÀü º£²¸ º¸ÀÚ -
Memory Management Unit ¨Ü MCP - SDRAM°ú
NAND FlashÀÇ ÇÑÁý »ì¸² ¨Ý I2C, SPI..
³Í ¶Ç ¹¹³Ä ¨Þ DSP ¨ß
ADC´Â ±âº»ÀûÀÎ Information ¼öÁý°¡ ¨à
JTAG Interface¸¦ Control ÇØ º¸ÀÚ
8)
±×·¡¼ ¾î¼¶õ ¸»ÀÌ³Ä - How to debug
¨Í ±×·¡¼ ¾î¼¶õ
¸»ÀÌ³Ä - ART of Debugging ¨Î Interrupt
Lock¿¡ ÀÇÇÑ Watchdog Reset ¨Ï Data Abort°¡
¹ß»ýÇß¾î¿ä ¨Ð Stack Corruption°ú Prefetch
Abort - Stack µÚÁö±â ½Å°ø ¨Ñ Abort in
ISR. IRQ mode¿¡¼ÀÇ Abort¶ó... ¨Ò 0x0
go ¨Ó Watchdog Reset in ISR ¨Ô
´Ù¾çÇÑ Exception°ú Memory ºÒ·® Symptom ¨Õ
Semihosting - Printf ¨Ö JTAG°ú ICDÀÇ
Á¤Ã¼ ¨× Oscilloscope »ç¿ë¹ý
|