linker-scripts

    0

    1답변

    x86 아키텍처 용으로 작은 32 비트 커널에서 작업 할 때 ld이 nobits 섹션을 처리하는 방식이 이상합니다. 제 커널에서는 시스템의 초기화 부분에 대한 임시 스택을 보유하는 .bootstrap_stack 섹션을 정의합니다. 나는 또한 스택의 시작과 끝을 나타내는 심볼을 가지고있다. 이 입력 섹션은 .bss 출력 섹션으로 리디렉션됩니다. 커널의 각 출

    2

    1답변

    베어 메탈 ARM 부트 로더를 작성 중이며 일부 내부 SRAM을 스크래치 패드로 사용하여 애플리케이션 코드와 통신하려고합니다. 내 필요에 따라 메모리를 초기화하거나 제로 할 필요가 없습니다. 이 스크립트를 사용하여 원하는 변수를 메모리에 넣을 수 있습니다. /** * Linker script for secondary bootloader. * * All

    0

    1답변

    내 프로젝트에 두 개의 파일이 있습니다. 하나는 ".c"파일이고, 하나는 ".asm"파일입니다. 먼저 두 파일을 두 개의 ".o"개체 파일로 컴파일 한 다음 사용자 지정 링커 스크립트를 사용하여 함께 연결합니다. 현재 프로젝트를 빌드하기 위해 수동 명령을 사용하는 간단한 bash 스크립트를 사용하고 있지만 프로젝트 크기가 증가 할 것으로 예상되므로 프로젝트

    2

    2답변

    답변 찾기가 오래되었습니다. 미안하지만 나는 그것을 정말로 발견 할 수 없다. 저는 gcc, ld, gcc (어셈블러 컴파일 용)를 사용합니다. SECTIONS { .text : *{.text} } LS_size = (SIZEOF(.text) + 2048) & (0xF800) >> 9 ; 내가 어셈블러에서 사용 LS_size 시도 : 나는

    0

    1답변

    코드가 라이브러리의 특정 기호를 참조하는 경우 연결을 실패하게 만드는 방법이 있습니까? 나는 링커 스크립트 언어에 그러한 지시어가 있다는 것을 어렴풋이 기억하는 것 같지만 분명히 GNU LD가 아닙니다 (아마 잘못된 메모리 일 것입니다). 타사 라이브러리의 일부가 실수로 응용 프로그램에 링크되는 것을 방지하려면이 기능이 필요합니다. 그것이 링크되면, 런타임

    2

    1답변

    인터럽트 벡터 테이블에 대한 링커 스크립트 섹션 집합이 있습니다. 섹션은 RAM에 있으며 내 코드에 의해 RAM에로드됩니다. 각 벡터는 절대 위치에 있어야하므로 각 벡터에 대해 별도의 섹션 (및 별도의 메모리 영역)이 있습니다. 일부 벡터는 응용 프로그램에서 사용할 수 없지만 다른 벡터는 응용 프로그램에서 사용할 수 없습니다. 복사 코드가 여전히 작동하는지

    0

    1답변

    TI Code Composer Studio 5.5 (TI ARM 컴파일러 5.1.1)에서 전체 프로젝트에 대한 링커 정렬을 설정해야합니다. 이 내 링커 .cmd 파일입니다 : MEMORY { BOOTROM: o = 0x40020000 l = 0x0000C000 /* 48kB public boot ROM */ SRAM: o = 0x402

    6

    1답변

    호스트에서 임베디드 프로젝트의 단위 테스트를 수행하기 위해 함수 포인터를 사용하여 런타임에 함수의 실제 구현과 모의 구현 사이를 전환 할 수있었습니다. 그래서, '갑'내 함수 .c 파일에서 다음과 같다 : 함수 포인터는 내부 L1 데이터 메모리에 존재하기 때문에,이 타겟 프로세서 (블랙 핀)의 예외를 생성 함을 나온 // the 'real' implemen

    5

    3답변

    방금 ​​ARM 프로그래밍을 배우기 시작했는데 약간 짜증나는 문제에 봉착했습니다. 소스 코드를 컴파일하는 데 사용하는 툴체인은 Sourcery CodeBench Lite 2013.05-23입니다 (여기에서 찾을 수 있습니다 : https://sourcery.mentor.com/GNUToolchain/release2449) 내가 필요한 것은 GCC 나 LD

    2

    1답변

    링커 스크립트에서 위치 카운터에 문제가 있습니다. 이것이 버그인지 또는 잘못된 출력이 예상되는지는 알 수 없습니다. (- __bss_start __bss_end가) __bss_size 같지 나는 /* Program bss, zeroed out during init. */ .bss : { . = ALIGN(4); __bss_start =