hard FPU 없는 MCU에서 FP연산 돌리려니 1ms 넘어뿌러서 FPU emulator 를 대신할 함수들 짜는 중인데 오차 보정 무시하고 갈 생각임돠지금 계속 구현하다보니 사이클이 고만고만 해지는데 아이디어좀 주십쇼
ieee 754 기준으로 부탁드립니다
응? IAR 만 해도 emulated FP 있는뎅
암생각 없으면 고정소수점 구현해.
>> 10 정도면 됨.
곱셈 나눗셈이 조금 난이도 있지 뭐.
유지보수땜에 형은 ieee 754 float형으로 가야 할 것 같습니다...
FPU emulator가 너무 느려서 오차보정 빼고 빠르게 어셈으로 최적화 해서 가야할 듯 합니다 ㅠ
그거 emulated FP 정도로 커버 치기에는 비쌈.
넘겨야 할땐 분모와 분자로 나눠서 PC 에서 float 로 계산하면 됨.
IAR 환경이 없고 해당 업체에서 Keil 고집해서 uVision으로 개발하는 뭐 꼭 해야하는건 아니지만 급 하고싶어져서요
개발 툴이 뭔데? ( embedded )
PC 연결 없이 Stand alone으로 구동되어요
코어는?
arm cortex m0 - stm32f091 시리즈요
어차피 유지보수는 PC 야. 그거 아니면 유지보수 신경쓸 필요 없음.
m0 구나 ㅠㅠ
걔네 왈 "코드를 읽기 힘듭니다." 라는 말이 나온 적이 있어서요. 제가 짜면 그쪽에 보내줄 거지만 일단 저는 라이브러리화 시켜서 칩넘버 매칭해보고 맞으면 가동되게 만들어서 줄거라....
맛보기용
http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
이거 봄?
M0 인스트럭션 셋 보니까 엄청 심플하던데요 ㅋㅋ
음?! 처음보는데요
옵션으로 컴파일하는것 보다 빠르고 싶으면 고정소수점 외 대안이 없다.
얌마 짤 좀 이쁜거 써~~
아 gcc arm 빌드 파라메터들이네요. 내용은 알고 있어요. 대부분의 개발환경에서 자동으로 생성 셋팅해주는 부분들이고 칩내부 구조에 따라 맞게 설정해야해서 변경하기엔 무리이고 직접적인 퍼포먼스 연계가 거의 없죠
짤은... 음.... 바꾸도록 하지요! 다음부터...
고정소수점은.... 더 난잡해지는데....
그리고 컴파일 파라메터에 고정소수점은 없을껄요.... 아마 제가 union으로 하나 구성해야할 듯 한데..
-mfloat-
저거 고정소수점 보다 16배는 느릴테니 각오하셈
mfloat은 기본적으로 사용해요. 저게 fpu emulator.... m0는 fp관련 인스트럭션 셋이 없어서 무조건 sotf로 가기 때문에... ㅠ
고정소수점으로 가면 오차율은 어느정도 될까요
10^(-7)까지만 오차가 없으면 되는데...
>> 10 이면 당연 1/1024 지
얌마 float 도 소수점 다섯자리 간당이야.
소수점 위에 달리긴 했다만.
니 말은 double 필수란거고. 32bit 로는 성능 한계가 빤 함.
그래서 오차보정 들어가서 fpu emulator 속도가....ㅠ
음... 그러면 10^(-5)까지는 오차없이 되나요?
1/1024 계산 안됨? ㅋㅋ
아 그정도군요... 이제 이해함열 ㅋㅋㅋ
니 말대로 하려면 >> 14 정도 해야 됨. 그러면 소수점 위로 18 비트 밖에 없는데 곱셈 하면 반타작임.
오늘 기분 좋게 술먹어서 친절하다. = _ =
으음.... 역시 정확도를 좀 버리고 속도로 가야하나...
주무세욧!