또 또 stm32 질문입니다. Cortex m4 관련

isaiah   
   조회 3152   추천 0    

 stm32f4 를 가지고 이것저것 해 보고 있는데요.

 또 궁금한게 생겼습니다.


 여기 들어 있는 CPU가 cortex m4 이고 여기에 부동소수점  연산기와 DSP 용 명령어 몇가지가 통합되어 있다고 하던데요..

 부동소숫점 연산기는 컴파일러가 알아서 쓴ㄷ다는데.. 

 DSP 용 명령어 들도 그런가요?? 이게 아주 신호처리에만 사용될 수 있는 그런 물리적으로 특화된 그런 친구들 처럼은 안 보이고.

 일반적인 용도에서도 가속이 가능한 기능처럼 보이던데요

 한 사이클만에 수행되는 (float + float)/2 같은것 도 있더라고요.

 제가 (float + float /)2 같은걸 그냥 c로 작성하면 컴파일러가 알아서 써 먹나요?

짧은글 일수록 신중하게.
이규섭 2020-05
보통 C 같은 고급언어에서는 명령어를 활성화시키는 전용 API나 타입지정을 해서 써야하지 않나요?
컴파일러가 모를텐데요.
     
isaiah 2020-05
아 그 stm에서 배포하는 프로젝트 만들어 주는 프로그램이 만들어 준 프로젝트에는
자동으로 ARM에서 배포하는 cmsis 인가 하는 라이브러리가 포함 되어 있던데..
 그걸 통해서 m4의 기능들을 사용하도록 재정의(?) 되어  있는 그런 식인가 보군요?
세상탈출 2020-05
넵~변수타입을 잘 정의 하시고 사용 하몀 됩니다.
결과는 컴파일 후 어셈코드 확인 해 보시고, 더 최적화 또는 특별한 최적화를 원하시면 인라인 어셈을 쓰셔요.
Keil을 사용하시는지 IAR을 하시는지 모르겠지만 최적화 옵션도 있으니 참고하세요.
     
isaiah 2020-05
감사합니다... 임베디드 하려면 컴파일된 결과물은 들여다 보는걸 완전히 안할 수는 없나 보군요.... 흠..

 ide 는 stm32cubeide 쓰고 있습니다.. 그 아톨릭 트루 스트디오랑 cubeMx 합쳐 놓은거요..
 최적화 옵션은 빌드할때 주는 그 -o, -ofast 같은거 말씀 하시는 거죠?
지금껏 신경도 안쓰고 살다가 몇일전에 DMA대비 memset이 너무너무 느린것 같아서 -ofast 옵션을 바꿨더니..
속도가 엄청나게 차이가 나서.. 깜짝 놀랐습니다..
the촌놈 2020-05
보통 이런것들은 IDE를 활용한 예제들이 잘 나와있습니다. GCC는 사실 초보자들이 쓰기엔 상당히 까다로운 컴파일러지만 구글링하면 원하는 예제들과 설명은 다 찾을 수 있죠.
     
isaiah 2020-05
이게 대충 읽어서 이해할 정도로 검색하는것만도 꽤 부담스러워서요..
 일일히 수동으로 해 주어야 하고 동시에 그로 인한 이점도 큰... 그런 상황이 아니면..
 구지 알아볼 필요도 없을것 같아서.. 질문먼저 들여 봤습니다...
          
the촌놈 2020-05
8bit 마이컴 활용하는 것 처럼 간단한 제어와 통신 정도면 써먹을 일이 거의 없습니다. CMSIS를 통해서 API처럼 사용하면 되는데 STM의 가이드에도 있듯이 대부분은 데이터연산에 관련된 것들이라 디지털 필터같은 복잡한 데이터연산을 하는 작업이 아니면 활용도가 낮습니다.
AN4841을 읽어보세요.


QnA
제목Page 1064/5727
2015-12   1778783   백메가
2014-05   5253824   정은준1
2020-05   4331   캔위드
2020-05   2939   guest1
2020-05   3226   SamP
2020-05   6566   녹차같은사랑
2020-05   9468   엠플
2020-05   4163   monta
2020-05   8120   gowork
2020-05   4681   캔위드
2020-05   2820   우신예찬
2020-05   4265   호호
2020-05   6840   다비니
2020-05   3538   FreeBSD
2020-05   6632   행복하세
2020-05   3773   나너우리
2020-05   3774   osthek83
2020-05   7024   봉래
2020-05   9409   galaxyfamily
2020-05   3153   isaiah
2020-05   5321   전진
2020-05   3562   우루리루