embeded/FPGA - ALTERA

Nios II HAL alt_load()

구차니 2018. 4. 3. 13:13


Nios II Eclipse에서 bsp 프로젝트 아래에 summary.html이 하나 보이길래 열어보니 

해당 설정에 대한 내용이 나온다.


Setting Name:hal.linker.allow_code_at_reset
Identifier:ALT_ALLOW_CODE_AT_RESET
Default Value:0
Value:1
Type:Boolean
Destination:none
Description:Indicates if initialization code is allowed at the reset address. If true, defines the macro ALT_ALLOW_CODE_AT_RESET in linker.h.
Restrictions:If true, defines the macro ALT_ALLOW_CODE_AT_RESET in linker.h. This setting is typically false if an external bootloader (e.g. flash bootloader) is present.

Setting Name:hal.linker.enable_alt_load
Identifier:none
Default Value:0
Value:1
Type:Boolean
Destination:none
Description:Enables the alt_load() facility. The alt_load() facility copies data sections (.rodata, .rwdata, or .exceptions) from boot memory to RAM. If true, this setting sets up the VMA/LMA of sections in linker.x to allow them to be loaded into the .text memory.
Restrictions:This setting is typically false if an external bootloader (e.g. flash bootloader) is present.

Setting Name:hal.linker.enable_alt_load_copy_exceptions
Identifier:none
Default Value:0
Value:0
Type:Boolean
Destination:none
Description:Causes the alt_load() facility to copy the .exceptions section. If true, this setting defines the macro ALT_LOAD_COPY_EXCEPTIONS in linker.h.
Restrictions:none

Setting Name:hal.linker.enable_alt_load_copy_rodata
Identifier:none
Default Value:0
Value:0
Type:Boolean
Destination:none
Description:Causes the alt_load() facility to copy the .rodata section. If true, this setting defines the macro ALT_LOAD_COPY_RODATA in linker.h.
Restrictions:none

Setting Name:hal.linker.enable_alt_load_copy_rwdata
Identifier:none
Default Value:0
Value:1
Type:Boolean
Destination:none
Description:Causes the alt_load() facility to copy the .rwdata section. If true, this setting defines the macro ALT_LOAD_COPY_RWDATA in linker.h.
Restrictions:none

 


일단 감이 안오니.. 프로젝트 전체로 검색해본결과

bsp/HAL/src/alt_load.c 에 해당 함수가 존재하고


alt_load.c의 alt_load()상단에 링커 정의 심볼이 존재한다.

extern alt_u32 __flash_rwdata_start __attribute__((section(".data")));

extern alt_u32 __ram_rwdata_start __attribute__((section(".data")));

extern alt_u32 __ram_rwdata_end __attribute__((section(".data")));

extern alt_u32 __flash_rodata_start __attribute__((section(".data")));

extern alt_u32 __ram_rodata_start __attribute__((section(".data")));

extern alt_u32 __ram_rodata_end __attribute__((section(".data")));

extern alt_u32 __flash_exceptions_start __attribute__((section(".data")));  

extern alt_u32 __ram_exceptions_start __attribute__((section(".data")));

extern alt_u32 __ram_exceptions_end __attribute__((section(".data"))); 


음.. bsp 설정 바꾸고 bsp 빌드 하면 이런것도 재생성 되려나?


+

해봤는데.. alt_load.c 내용이 바뀌진 않네.. 머지?