XilinxMicroblaze 코어의 C로 작성된 응용 프로그램이 있습니다. 그러나 성능이 내가 원하는 바가 아니기 때문에 어셈블리의 핵심 기능 중 일부를 다시 작성하는 것을 고려하고있었습니다. 자일링스 플랫폼 스튜디오 (Xilinx Platform Studio)를 단일 ELF 파일로 컴파일하는 방법을 알아 내는데 어려움이 있습니다.Xilinx Microblaze C 및 어셈블리
어떻게하면됩니까?
XilinxMicroblaze 코어의 C로 작성된 응용 프로그램이 있습니다. 그러나 성능이 내가 원하는 바가 아니기 때문에 어셈블리의 핵심 기능 중 일부를 다시 작성하는 것을 고려하고있었습니다. 자일링스 플랫폼 스튜디오 (Xilinx Platform Studio)를 단일 ELF 파일로 컴파일하는 방법을 알아 내는데 어려움이 있습니다.Xilinx Microblaze C 및 어셈블리
어떻게하면됩니까?
실적이 저조한 부분을 정확히 파악 했습니까? 제 경험으로 볼 때 핵심 기능은 매우 빠르므로 코드가 문제의 원인 일 수 있습니다. 최적화 (-O3) 또는 캐시 크기 변경 (캐시를 사용하는 경우)으로 컴파일 해보십시오.
Yann이 제안한대로 인라인 어셈블리를 사용할 수 있습니다.
http://www.xilinx.com/support/answers/18561.htm
비록, 성능 병목 위치를 확인하는 코드를 프로파일 링하려고 방법은 다음과 같습니다이다. 자일링스의 SDK는 침투성 프로파일 링을 허용한다. 또한 GPIO와 오실로스코프 (또는 고속 트리거링 클럭이있는 로직 애널라이저)를 사용하여 함수/코드 섹션을 스스로 프로파일 링 할 수 있습니다.
건배, 에릭
(예를 들어, 설치 디렉토리 난 당신이 다시 원하는 기능을 마이크로 블레이즈있는 모르겠지만, 당신은 항상 자일링스에 갈 수, C : \ 자일링스 \ 13.4 \ ISE_DS \ EDK \ 자상 \ lib \ bsp \ standalone_v3_00_a \ src \ microblaze) 함수를 수정하거나 특정 소프트웨어 라이브러리에 자신의 asm 파일을 포함시킬 수도 있습니다.
어떤 EDK 버전을 사용하고 있습니까? – eepp