Are you looking for the solution which can solve

the "what(); Invalid argument" error message on MPLAB X IDE?


Please check the error message in output window of MPLAB X.




make -f nbproject/Makefile-default.mk SUBPROJECTS=7 .build-conf
make[1]: Entering directory 'D:/MPLAB_PROJECT/FZA/FZA.X'
make  -f nbproject/Makefile-default.mk dist/default/production/FZA.X.production.hex
make[2]: Entering directory 'D:/MPLAB_PROJECT/FZA/FZA.X'
"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F1503 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/newmain.p1 newmain.c
terminate called after throwing an instance of 'std::invalid_argument'

 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F1503 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/newmain.p1 newmain.c


make[2]: *** [build/default/production/newmain.p1] Error 1
  what():  Invalid argument
error: clang frontend command failed with exit code 3 (use -v to see invocation)
(908) exit status = 1
make[1]: *** [.build-conf] Error 2
nbproject/Makefile-default.mk:106: recipe for target 'build/default/production/newmain.p1' failed
make[2]: Leaving directory 'D:/MPLAB_PROJECT/FZA/FZA.X'
make: *** [.build-impl] Error 2
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' fai


led
make[1]: Leaving directory 'D:/MPLAB_PROJECT/FZA/FZA.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed

BUILD FAILED (exit value 2, total time: 3s)

 

Error message example





CLEAN SUCCESSFUL (total time: 16ms)

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf

make[1]: Entering directory 'C:/Temp/LabIntro.X'

make  -f nbproject/Makefile-default.mk dist/default/production/LabIntro.X.production.hex

make[2]: Entering directory 'C:/Temp/LabIntro.X'

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/main.p1 main.c 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/mcc_generated_files/pin_manager.p1 mcc_generated_files/pin_manager.c 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/mcc_generated_files/mcc.p1 mcc_generated_files/mcc.c 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/mcc_generated_files/tmr0.p1 mcc_generated_files/tmr0.c 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/mcc_generated_files/interrupt_manager.p1 mcc_generated_files/interrupt_manager.c 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/mcc_generated_files/device_config.p1 mcc_generated_files/device_config.c 

"C:\Program Files (x86)\Microchip\xc8\v2.05\bin\xc8-cc.exe"  -mcpu=16F18346 -c  -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -DXPRJ_default=default  -msummary=-psect,-class,+mem,-hex,-file  -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall   -std=c99 -gdwarf-3 -mstack=compiled:auto:auto     -o build/default/production/mcc_generated_files/adc.p1 mcc_generated_files/adc.c 

terminate called after throwing an instance of 'std::invalid_argument'

  what():  Invalid argument

error: clang frontend command failed with exit code 3 (use -v to see invocation)

terminate called after throwing an instance of 'std::invalid_argument'

  what():  Invalid argument

(908) exit status = 1

error: clang frontend command failed with exit code 3 (use -v to see invocation)

nbproject/Makefile-default.mk:202: recipe for target 'build/default/production/mcc_generated_files/adc.p1' failed

terminate called after throwing an instance of 'std::invalid_argument'

  what():  Invalid argument

error: clang frontend command failed with exit code 3 (use -v to see invocation)

(908) exit status = 1

(908) exit status = 1

nbproject/Makefile-default.mk:194: recipe for target 'build/default/production/mcc_generated_files/interrupt_manager.p1' failed

nbproject/Makefile-default.mk:186: recipe for target 'build/default/production/mcc_generated_files/tmr0.p1' failed

make[2]: *** [build/default/production/mcc_generated_files/adc.p1] Error 1

make[2]: *** Waiting for unfinished jobs....

make[2]: *** [build/default/production/mcc_generated_files/interrupt_manager.p1] Error 1

make[2]: *** [build/default/production/mcc_generated_files/tmr0.p1] Error 1

terminate called after throwing an instance of 'std::invalid_argument'

  what():  Invalid argument

terminate called after throwing an instance of 'std::invalid_argument'

  what():  Invalid argument

error: clang frontend command failed with exit code 3 (use -v to see invocation)

error: clang frontend command failed with exit code 3 (use -v to see invocation)

terminate called after throwing an instance of 'std::invalid_argument'

  what():  Invalid argument

error: clang frontend command failed with exit code 3 (use -v to see invocation)

(908) exit status = 1

(908) exit status = 1

nbproject/Makefile-default.mk:162: recipe for target 'build/default/production/mcc_generated_files/device_config.p1' failed

nbproject/Makefile-default.mk:178: recipe for target 'build/default/production/mcc_generated_files/pin_manager.p1' failed

(908) exit status = 1

nbproject/Makefile-default.mk:154: recipe for target 'build/default/production/main.p1' failed

make[2]: *** [build/default/production/mcc_generated_files/device_config.p1] Error 1

terminate called after throwing an instance of 'std::invalid_argument'

make[2]: *** [build/default/production/mcc_generated_files/pin_manager.p1] Error 1

  what():  Invalid argument

error: clang frontend command failed with exit code 3 (use -v to see invocation)

make[2]: *** [build/default/production/main.p1] Error 1

make[2]: *** [build/default/production/mcc_generated_files/mcc.p1] Error 1

(908) exit status = 1

make[1]: *** [.build-conf] Error 2

nbproject/Makefile-default.mk:170: recipe for target 'build/default/production/mcc_generated_files/mcc.p1' failed

make: *** [.build-impl] Error 2

make[2]: Leaving directory 'C:/Temp/LabIntro.X'

nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed

make[1]: Leaving directory 'C:/Temp/LabIntro.X'

nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed


BUILD FAILED (exit value 2, total time: 5s)

 

Error message example




Solution!!


Please open "Project Properties" on MPLAB X IDE

(MPLAB X IDE --> File --> Project Properties)


If your selection of C standard is C99,

Please change the C standard from C99 to C90.





And click "Apply" button and "OK"


Try again compile your project


Could you share your result to know success or not?



Posted by KennyShin
,


리조트를 갈때

골드카드와 실버카드사이에 갈등이 될 때가 있다.



골드카드는 1일 2끼 식사를 할 수 있고,

실버카드는 1일 1끼 식사를 할 수 있다.



가격은 

골드카드 6만원,

실버카드 3만원 이다.


나는 이번 여행에 골드카드가 아닌

실버카드를 2개 구입했다.


그 이유는 간단하다.


골드카드를 1개 구입하면

무조건 하루의 점심과 저녁을 골드카드로 

해결해야 하기 때문이다.


골드카드 가격이 6만원이고

실버카드 가격이 3만원이기때문에

골드카드 1장보다 실버카드 2장을 사는 것이 더욱 좋다.



실버카드는 이렇게 생겼다.

이 카드를 가지고 식당에가면 코스요리를 제공한다.


식당이 많이 있지만

가장 우리 입맛에 맞는 것은 나미식당(일본 스시집)이었다.


성인 1명이 주문하면 어린이 세트 1인은 무료이다.


A세트 또는 B세트중에 주문할 수 있다.

나는 A세트 2개를 주문했다.




어린이 세트는 선택권이 없다.

다만 돈까스 또는 치킨까스를 선택할 수 있다.


아주작게 자른 3조각정도가 나온다.



식당의 내부모습


모듬스시


닭고기계란덮밥


치즈 핫도그


계절과일



삼겹살덮밥



계절과일






Posted by KennyShin
,



맹글로브트리 리조트에 가면 어쩔 수 없이 

지출해야하는 금액이 하나 있다.


바로 튜브 렌탈 비용이다.



파도는 치지않는 파도풀이지만

파도풀에서 놀기위해서는 사진에 보이는 노란색 튜브가 필요하다.



유수풀에서 놀기위해서도 튜브가 필요하다.


하루 튜브를 렌탈하는 비용은 50위안


3일정도 리조트를 이용하려면

50위안 x 3일 = 150위안이다.


국내에서는 무료인 튜브를

돈내고 이용하려니 약간 배가 아팠다.


그리고 반드시 현금으로 튜브비용을 내야하니

입장전에 꼭 현금을 챙기도록 하자!


물, 음료수, 간식은

워터파크에서도 구입할 수 있지만

슈퍼보다는 비싸다.


물, 음료수, 간식등을 가지도 들어가도 되기 때문에

약간씩 챙겨가도 좋을 것 같다.


나는 칭따오맥주를 챙겼다.




리조트 내 슈퍼에서

24위안에 구입할 수 있다.


칭따오맥주 가격이 

1캔에 약 670원으로 한국에 비하여 절반가격이니

마음껏 마시자!





가격표에 나와있는 것은

첫번째 0.5위안이 비닐봉투가격

두번째는 코카콜라 500ml가격이다.


이것도 500원이면 구입할 수 있으니 정말 싸다.

세번째는 맥주이고


4번째꺼는 기억이 안난다.ㅠㅠ

아시는 분은 댓글 부탁드립니다.

다섯번째는 야자수음료였는데

유명한 야자수음료수란다.


여섯번째는 1리터짜리 생수를 2개 구입한 가격이다.


마지막은 스타벅스 유리병에 들어있는 커피인데

칭따오맥주 6개 가격이다.


이럴줄알았으면 안샀을 텐데..


결론: 맥주, 코카콜라, 물은 매우 저렴하니

마음껏 구입하도록 하자!




Posted by KennyShin
,




I2C 통신을 사용할 때,
Restart를 사용하는 경우가 있다.

Restart를 왜 사용할까?

Restart는 I2C Master에서 명령을 보낸 뒤에
I2C의 Stop 없이 I2C Slave로부터
데이터를 읽는데 사용된다.

I2C 통신을 할 때 명령을 보내고 
Stop 뒤에 다시 Start하여 
데이터를 읽어올 수도 있다.

하지만 Restart를 
사용하는 것은 I2C 통신에서
I2C Master가 2개 이상 여러개가 있을 때
다른 I2C Master가 제어권을
가져가지 못하도록 하는데 목적이 있다.



Restart는
Stop없이 Start하기 때문에
다른 I2C Master가 통신을 시작할 수 없다.












'I2C' 카테고리의 다른 글

I2C Bus란 무엇인가?(About I2C)  (0) 2019.01.28
Posted by KennyShin
,
마이크로컨트롤러의 Program memory(Flash memory)와 Data memory(SRAM) 비교

Program memory(Flash memory)는 
비휘발성 메모리(Non-Volatile)이고, 

Data memory(SRAM)은 
휘발성 메모리(Volatile)입니다.

비휘발성 메모리(Non-Volatile)

전원이 입력되지 않아도 
데이터가 사라지지 않고 저장할 수 있는 메모리입니다.

주변에서 볼 수 있는 
SD 카드, SSD 메모리, HDD메모리, CD, DVD와 같은 
저장매체와 비슷하다고 생각할 수 있습니다.

마이크로컨트롤러에서는 Flash memory라고 부르며 
데이터를 저장할 수 있는 크기는 
수백 Bytes에서 수 MBytes까지 다양합니다.

일반적으로 마이크로컨트롤러의 핀수가 적거나 
기능이 적을수록 
Program memory(Flash memory)의 크기가 작고,
마이크로컨트롤러의 핀수가 크고 기능이 많을수록 Program memory(Flash memory)의 크기가 큽니다.

휘발성 메모리(Volatile)

전원이 입력되지 않으면 데이터가 사라집니다. 
통상 전원이 입력되었을 때 
초기 값은 Unknown상태입니다.

Unknown상태는 
SRAM의 각 비트값이 '1'이 될 수도 있고
'0'이 될 수 있음을 의미합니다.

따라서 전원이 입력되었을 때 
반드시 SRAM의 데이터를 초기화해야 합니다.

일반적으로 마이크로컨트롤러의 핀수가 적거나 
기능이 적을수록 Data memory(SRAM)의 크기가 작고,
마이크로컨트롤러의 핀수가 크고 기능이 많을수록 Data memory(SRAM)의 크기가 커지게 됩니다.


Data memory(SRAM)의 크기는 
Program memory(Flash memory)에 비하여 
약 1/10이하로 내장되는 경우가 대부분입니다.

단, 영상이나 이미지처리를 목적으로 만들어진 
마이크로컨트롤러는 
Data memory(SRAM)이 
Program memory(Flash memory)에 비하여 
크게 내장된 경우도 있습니다.

또는 영상이나 이미지를 저장하기 위해 
Data memory(SRAM)이외에 DDR메모리가 
별도로 내장하기도 합니다.

Posted by KennyShin
,
마이크로컨트롤러의 주변장치(Peripheral) 연결

        
주변장치(Peripheral)라고 부르는 
GPIO, ADC, Timer, EEPROM, SPI, I2C, UART 등등은 
CPU와 SRAM사이에 연결된 데이터 버스(Data Bus)에 
함께 연결되어 있습니다.

            즉, CPU와 SRAM사이가 8비트로 구성된 
8비트 마이크로컨트롤러일 경우 주변장치(Peripheral)도 
8비트로 연결되는 것을 의미하며, 
            공통으로 함께 연결되기 때문에 CPU에서 SRAM을 읽고 쓰는 동안에는 주변장치(Peripheral)에 접근하지 못합니다.

Posted by KennyShin
,

8비트/16비트/32비트 마이크로컨트롤러의 구분방법

            
마이크로컨트롤러에서 8비트, 16비트, 32비트를 구분하는 것은 
CPU와 SRAM사이에 연결된 데이터버스(Data Bus)크기입니다.

            즉, CPU에서 SRAM을 한번에 얼마나 
큰 데이터를 읽거나 쓸 수 있는가를 의미합니다.

            예를 들어 8비트 마이크로컨트롤러는 SRAM이 8비트(bit), 
16비트 마이크로컨트롤러는 SRAM이 16비트(bit), 
32비트 마이크로컨트롤러는 SRAM이 32비트(bit)단위로 
접근할 수 있습니다.

            레지스터(Register)라는 부분도 
8/16/32비트 마이크로컨트롤러에 따라 
각각 레지스터(Register)가 8/16/32비트로 구성됩니다.

            Flash Memory와 CPU사이는 
8비트 마이크로컨트롤러인 경우에도
 8비트로 구성되는 것이 아니라 
명령어를 나타내는 길이만큼으로 구성됩니다.

            예를들어 8비트 마이크로컨트롤러라도
 Flash memory와 CPU사이의 버스(Bus)는 
14비트 또는 16비트 등으로 구성됩니다.
    
8비트 마이크로컨트롤러
CPU와 SRAM사이에 연결된 데이터버스는 8개의 선으로 연결됩니다.

16비트 마이크로컨트롤러
CPU와 SRAM사이에 연결된 데이터버스는 16개의 선으로 연결됩니다.

32비트 마이크로컨트롤러
CPU와 SRAM사이에 연결된 데이터버스는 32개의 선으로 연결됩니다.

Posted by KennyShin
,
펌웨어(Firmware) 개발과정의 의미

마이크로컨트롤러를 이용하여 제품을 개발하는 과정을 요약하면 
"코드를 만들고 테스트하는 과정을 반복"하게 됩니다.

이 과정은 범용마이크로컨트롤러를 이용하여 
자신만의 전용마이크로컨트롤러를 만드는 과정입니다.

명령어나 논리연산자 그리고 수학적 연산을 수행하는 CPU, 
연산 결과값을 임시 저장하기 위한 SRAM, 
어떤 동작을 할지를 담고있는 FLASH 메모리가 있습니다.



또 이외에도 주변장치라고하는 
ADC, PWM, DAC, Timer, EEPROM 등등 
수많은 장치가 내부에 존재합니다. 

하나의 IC에 수많은 기능이 내장되어있어 
짧은 시간에 모든 기능을 습득하는 것이 어렵기도 합니다.

Posted by KennyShin
,