항상 만만한(?) qs-rgb 예제에서
Linker를 보다 보니... scatter 아래 Misc Control의
--entry Reset_Handler
가 보인다...?
startup_rvmdk.S에
해당 함수가 그럼 entry 포인트로 잡히고
얘는 적절한 초기화 이후 __main 을 호출하게 된다.
;****************************************************************************** ; ; This is the code that gets called when the processor first starts execution ; following a reset event. ; ;****************************************************************************** EXPORT Reset_Handler Reset_Handler ; ; Enable the floating-point unit. This must be done here to handle the ; case where main() uses floating-point and the function prologue saves ; floating-point registers (which will fault if floating-point is not ; enabled). Any configuration of the floating-point unit using ; DriverLib APIs must be done here prior to the floating-point unit ; being enabled. ; ; Note that this does not use DriverLib since it might not be included ; in this project. ; MOVW R0, #0xED88 MOVT R0, #0xE000 LDR R1, [R0] ORR R1, #0x00F00000 STR R1, [R0] ; ; Call the C library enty point that handles startup. This will copy ; the .data section initializers from flash to SRAM and zero fill the ; .bss section. ; IMPORT __main B __main |
그럼.. main()이 __main 으로 맹글링 되는건가?
[링크 : https://en.wikipedia.org/wiki/Name_mangling]
[링크 : http://spikez.tistory.com/19]
[링크 : http://infocenter.arm.com/help/topic/com.arm.doc.dui0205d/RVCT_Compiler_and_Libraries_D.pdf]
'embeded > Cortex-M4 Ti' 카테고리의 다른 글
tm4c1231 부트로더 + RS485 (0) | 2018.01.04 |
---|---|
tm4c 부트로더 파일 하나로 만들기 관련 검색중 (0) | 2018.01.03 |
tivaware bootloader + qs-rgb 테스트 (0) | 2017.12.28 |
tm4c tivaware bootloader 빌드.. (2) | 2017.12.26 |
심심해서 켜본 ek-tm4c123gxl 보드 (USB) (0) | 2017.12.21 |