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 내용이 바뀌진 않네.. 머지?