BASIC4MCU | ♧ STM32F0 | ◆F0x0 Value Line | [STM32F0] [IAR] 5. 폴더 구성 변경 및 Workspace 수정
페이지 정보
작성자 master 작성일2018-02-23 21:23 조회2,398회 댓글0건본문
라이브러리 폴더가 많아서 첫번째 폴더가 복잡해지므로하위 폴더를 추가했습니다.D:\STM32_IAR첫번째 폴더는 경로(path) 지정을 위해서 루트 디렉토리에 구성 했습니다.Stm32_DiscoveryStm32_EVALStm32_Nucleo위 3개의 폴더는 F0 만 들어있는 것이라서 파일(및 폴더) 갯수가 많지 않지만F1,F2,F3... 등등의 파일이 추가되면 갯수가 늘어나게 되어서 폴더를 분리 했습니다.//
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 <?xml version="1.0" encoding="iso-8859-1"?>2</fileVersion>STM32F030R8-Nucleo</name> ARM</name> </toolchain> 1</debug>General</name> 3</archiveVersion>24</version> 1</wantNonLocal> 1</debug>ExePath</name> Out</state> </option> //ObjPath</name> Out</state> </option> //ListPath</name> Out</state> </option> //GEndianMode</name> 0</state> </option>Input variant</name> 3</version> 6</state> </option>Input description</name> No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> </option>Output variant</name> 2</version> 5</state> </option>Output description</name> No specifier a, A, no specifier n, no float nor long long.</state> </option>GOutputBinary</name> 0</state> </option>OGCoreOrChip</name> 1</state> </option>GRuntimeLibSelect</name> 0</version> 2</state> </option>GRuntimeLibSelectSlave</name> 0</version> 2</state> </option>RTDescription</name> Use the full configuration of the C/C++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state> </option>OGProductVersion</name> 4.41A</state> </option>OGLastSavedByProductVersion</name> 7.50.2.10499</state> </option>GeneralEnableMisra</name> 0</state> </option>GeneralMisraVerbose</name> 0</state> </option>OGChipSelectEditMenu</name> STM32F030x8 ST STM32F030x8</state> </option>GenLowLevelInterface</name> 1</state> </option>GEndianModeBE</name> 1</state> </option>OGBufferedTerminalOutput</name> 0</state> </option>GenStdoutInterface</name> 0</state> </option>GeneralMisraRules98</name> 0</version> 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> </option>GeneralMisraVer</name> 0</state> </option>GeneralMisraRules04</name> 0</version> 011111111111111110111111111111011111111111111011110100111111111111111111111111111111111111111111101111111111111011111111111111111111111111111</state> </option>RTConfigPath2</name> $TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> </option>GBECoreSlave</name> 22</version> 34</state> </option>OGUseCmsis</name> 1</state> </option>OGUseCmsisDspLib</name> 0</state> </option>GRuntimeLibThreads</name> 0</state> </option>CoreVariant</name> 22</version> 34</state> </option>GFPUDeviceSlave</name> STM32F030x8 ST STM32F030x8</state> </option>FPU2</name> 0</version> 0</state> </option>NrRegs</name> 0</version> 0</state> </option>NEON</name> 0</state> </option>GFPUCoreSlave2</name> 22</version> 34</state> </option></data></settings>ICCARM</name> 2</archiveVersion>31</version> 1</wantNonLocal> 1</debug>CCOptimizationNoSizeConstraints</name> 0</state> </option>CCDefines</name> STM32F030x8</state> USE_HAL_DRIVER</state> USE_STM32F0XX_NUCLEO</state> </option>CCPreprocFile</name> 0</state> </option>CCPreprocComments</name> 0</state> </option>CCPreprocLine</name> 0</state> </option>CCListCFile</name> 0</state> </option>CCListCMnemonics</name> 0</state> </option>CCListCMessages</name> 0</state> </option>CCListAssFile</name> 0</state> </option>CCListAssSource</name> 0</state> </option>CCEnableRemarks</name> 0</state> </option>CCDiagSuppress</name> </state> </option>CCDiagRemark</name> </state> </option>CCDiagWarning</name> </state> </option>CCDiagError</name> </state> </option>CCObjPrefix</name> 1</state> </option>CCAllowList</name> 1</version> 11111110</state> </option>CCDebugInfo</name> 1</state> </option>IEndianMode</name> 1</state> </option>IProcessor</name> 1</state> </option>IExtraOptionsCheck</name> 0</state> </option>IExtraOptions</name> </state> </option>CCLangConformance</name> 0</state> </option>CCSignedPlainChar</name> 1</state> </option>CCRequirePrototypes</name> 1</state> </option>CCMultibyteSupport</name> 0</state> </option>CCDiagWarnAreErr</name> 0</state> </option>CCCompilerRuntimeInfo</name> 0</state> </option>IFpuProcessor</name> 1</state> </option>OutputFile</name> $FILE_BNAME$.o</state> </option>CCLibConfigHeader</name> 1</state> </option>PreInclude</name> </state> </option>CompilerMisraOverride</name> 0</state> </option>CCIncludePath2</name>$PROJ_DIR$</state> //d:\stm32_iar\lib\CMSIS</state> //d:\stm32_iar\lib\HAL</state> //d:\stm32_iar\lib\BSP</state> //</option>CCStdIncCheck</name> 0</state> </option>CCCodeSection</name> .text</state> </option>IInterwork2</name> 0</state> </option>IProcessorMode2</name> 1</state> </option>CCOptLevel</name> 3</state> </option>CCOptStrategy</name> 0</version> 1</state> </option>CCOptLevelSlave</name> 3</state> </option>CompilerMisraRules98</name> 0</version> 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> </option>CompilerMisraRules04</name> 0</version> 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> </option>CCPosIndRopi</name> 0</state> </option>CCPosIndRwpi</name> 0</state> </option>CCPosIndNoDynInit</name> 0</state> </option>IccLang</name> 0</state> </option>IccCDialect</name> 1</state> </option>IccAllowVLA</name> 0</state> </option>IccCppDialect</name> 1</state> </option>IccExceptions</name> 1</state> </option>IccRTTI</name> 1</state> </option>IccStaticDestr</name> 1</state> </option>IccCppInlineSemantics</name> 1</state> </option>IccCmsis</name> 1</state> </option>IccFloatSemantics</name> 0</state> </option>CCNoLiteralPool</name> 0</state> </option>CCOptStrategySlave</name> 0</version> 1</state> </option>CCGuardCalls</name> 1</state> </option></data></settings>AARM</name> 2</archiveVersion>9</version> 1</wantNonLocal> 1</debug>AObjPrefix</name> 1</state> </option>AEndian</name> 1</state> </option>ACaseSensitivity</name> 1</state> </option>MacroChars</name> 0</version> 0</state> </option>AWarnEnable</name> 0</state> </option>AWarnWhat</name> 0</state> </option>AWarnOne</name> </state> </option>AWarnRange1</name> </state> </option>AWarnRange2</name> </state> </option>ADebug</name> 1</state> </option>AltRegisterNames</name> 0</state> </option>ADefines</name> </state> </option>AList</name> 0</state> </option>AListHeader</name> 1</state> </option>AListing</name> 1</state> </option>Includes</name> 0</state> </option>MacDefs</name> 0</state> </option>MacExps</name> 1</state> </option>MacExec</name> 0</state> </option>OnlyAssed</name> 0</state> </option>MultiLine</name> 0</state> </option>PageLengthCheck</name> 0</state> </option>PageLength</name> 80</state> </option>TabSpacing</name> 8</state> </option>AXRef</name> 0</state> </option>AXRefDefines</name> 0</state> </option>AXRefInternal</name> 0</state> </option>AXRefDual</name> 0</state> </option>AProcessor</name> 1</state> </option>AFpuProcessor</name> 1</state> </option>AOutputFile</name> $FILE_BNAME$.o</state> </option>AMultibyteSupport</name> 0</state> </option>ALimitErrorsCheck</name> 0</state> </option>ALimitErrorsEdit</name> 100</state> </option>AIgnoreStdInclude</name> 0</state> </option>AUserIncludes</name> </state> </option>AExtraOptionsCheckV2</name> 0</state> </option>AExtraOptionsV2</name> </state> </option>AsmNoLiteralPool</name> 0</state> </option></data></settings>OBJCOPY</name> 0</archiveVersion>1</version> 1</wantNonLocal> 1</debug>OOCOutputFormat</name> 3</version> 1</state> </option>OCOutputOverride</name> 1</state> </option>OOCOutputFile</name>Project.hex</state> //</option>OOCCommandLineProducer</name> 1</state> </option>OOCObjCopyEnable</name> 1</state> </option></data></settings>CUSTOM</name> 3</archiveVersion></extensions> </cmdline> 0</hasPrio> </data></settings>BICOMP</name> 0</archiveVersion> > </settings>BUILDACTION</name> 1</archiveVersion></prebuild> </postbuild> </data></settings>ILINK</name> 0</archiveVersion>16</version> 1</wantNonLocal> 1</debug>IlinkLibIOConfig</name> 1</state> </option>XLinkMisraHandler</name> 0</state> </option>IlinkInputFileSlave</name> 0</state> </option>IlinkOutputFile</name> Project.out</state> </option>IlinkDebugInfoEnable</name> 1</state> </option>IlinkKeepSymbols</name> </state> </option>IlinkRawBinaryFile</name> </state> </option>IlinkRawBinarySymbol</name> </state> </option>IlinkRawBinarySegment</name> </state> </option>IlinkRawBinaryAlign</name> </state> </option>IlinkDefines</name> </state> </option>IlinkConfigDefines</name> </state> </option>IlinkMapFile</name> 1</state> </option>IlinkLogFile</name> 0</state> </option>IlinkLogInitialization</name> 0</state> </option>IlinkLogModule</name> 0</state> </option>IlinkLogSection</name> 0</state> </option>IlinkLogVeneer</name> 0</state> </option>IlinkIcfOverride</name> 1</state> </option>IlinkIcfFile</name>$PROJ_DIR$\stm32f030x8_flash.icf</state> //</option>IlinkIcfFileSlave</name> </state> </option>IlinkEnableRemarks</name> 0</state> </option>IlinkSuppressDiags</name> </state> </option>IlinkTreatAsRem</name> </state> </option>IlinkTreatAsWarn</name> </state> </option>IlinkTreatAsErr</name> </state> </option>IlinkWarningsAreErrors</name> 0</state> </option>IlinkUseExtraOptions</name> 0</state> </option>IlinkExtraOptions</name> </state> </option>IlinkLowLevelInterfaceSlave</name> 1</state> </option>IlinkAutoLibEnable</name> 1</state> </option>IlinkAdditionalLibs</name> </state> </option>IlinkOverrideProgramEntryLabel</name> 0</state> </option>IlinkProgramEntryLabelSelect</name> 0</state> </option>IlinkProgramEntryLabel</name> __iar_program_start</state> </option>DoFill</name> 0</state> </option>FillerByte</name> 0xFF</state> </option>FillerStart</name> 0x0</state> </option>FillerEnd</name> 0x0</state> </option>CrcSize</name> 0</version> 1</state> </option>CrcAlign</name> 1</state> </option>CrcPoly</name> 0x11021</state> </option>CrcCompl</name> 0</version> 0</state> </option>CrcBitOrder</name> 0</version> 0</state> </option>CrcInitialValue</name> 0x0</state> </option>DoCrc</name> 0</state> </option>IlinkBE8Slave</name> 1</state> </option>IlinkBufferedTerminalOutput</name> 1</state> </option>IlinkStdoutInterfaceSlave</name> 1</state> </option>CrcFullSize</name> 0</state> </option>IlinkIElfToolPostProcess</name> 0</state> </option>IlinkLogAutoLibSelect</name> 0</state> </option>IlinkLogRedirSymbols</name> 0</state> </option>IlinkLogUnusedFragments</name> 0</state> </option>IlinkCrcReverseByteOrder</name> 0</state> </option>IlinkCrcUseAsInput</name> 1</state> </option>IlinkOptInline</name> 0</state> </option>IlinkOptExceptionsAllow</name> 1</state> </option>IlinkOptExceptionsForce</name> 0</state> </option>IlinkCmsis</name> 1</state> </option>IlinkOptMergeDuplSections</name> 0</state> </option>IlinkOptUseVfe</name> 1</state> </option>IlinkOptForceVfe</name> 0</state> </option>IlinkStackAnalysisEnable</name> 0</state> </option>IlinkStackControlFile</name> </state> </option>IlinkStackCallGraphFile</name> </state> </option>CrcAlgorithm</name> 0</version> 1</state> </option>CrcUnitSize</name> 0</version> 0</state> </option>IlinkThreadsSlave</name> 1</state> </option></data></settings>IARCHIVE</name> 0</archiveVersion>0</version> 1</wantNonLocal> 1</debug>IarchiveInputs</name> </state> </option>IarchiveOverride</name> 0</state> </option>IarchiveOutput</name> ###Unitialized###</state> </option></data></settings>BILINK</name> 0</archiveVersion>></settings></configuration>BSP</name>d:\stm32_iar\lib\BSP\stm32f0xx_nucleo.c</name> </file></group>CMSIS</name>d:\stm32_iar\lib\CMSIS\system_stm32f0xx.c</name> </file>d:\stm32_iar\lib\CMSIS\startup_stm32f030x8.s</name> </file></group>HAL</name>d:\stm32_iar\lib\HAL\stm32f0xx_hal.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_adc.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_adc_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_can.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_cec.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_comp.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_cortex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_crc.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_crc_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_dac.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_dac_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_dma.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_flash.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_flash_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_gpio.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_i2c.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_i2c_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_i2s.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_irda.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_iwdg.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_pcd.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_pcd_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_pwr.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_pwr_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_rcc.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_rcc_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_rtc.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_rtc_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_smartcard.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_smartcard_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_smbus.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_spi.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_spi_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_tim.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_tim_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_tsc.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_uart.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_uart_ex.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_usart.c</name> </file>d:\stm32_iar\lib\HAL\stm32f0xx_hal_wwdg.c</name> </file></group>Src</name>$PROJ_DIR$\main.c</name> </file>$PROJ_DIR$\stm32f0xx_hal_msp.c</name> </file>$PROJ_DIR$\stm32f0xx_it.c</name> </file></group></project>F030R8-Nucleo-Template 폴더의 Project.ewp 파일 내용입니다.//ExePath</name> Out</state> </option> //ObjPath</name> Out</state> </option> //ListPath</name> Out</state> </option> //Out 한 개의 폴더에 출력을 넣도록 설정하고 있는데Obj 파일 때문에 복잡하다면 폴더를 두개로 나누어도 되겠습니다.ExePath</name> Out</state> </option> //ListPath</name> Out</state> </option> //ObjPath</name> Obj</state> </option> ////$PROJ_DIR$</state> //d:\stm32_iar\lib\CMSIS</state> //d:\stm32_iar\lib\HAL</state> //d:\stm32_iar\lib\BSP</state> //소스파일을 프로젝트 파일이 있는 폴더로 이동해서 하나로 합쳤고라이브러리 참조 디렉토리 경로를 절대 경로로 지정 했습니다.(모든 파일 저장하면 절대 경로가 프로젝트 파일 위주의 상대 경로로 바뀔 수 있습니다.)//Project.hex</state> //Hex 파일명을 지정하지 않으려고 단순하게 만들었습니다.//$PROJ_DIR$\stm32f030x8_flash.icf</state> //프로젝트 디렉토리의 파일을 참조하라고 적고있는데파일을 변경하지 않는다면d:\stm32_iar\lib\CMSIS\stm32f030x8_flash.icf</state> //프로젝트 폴더에 파일을 가질 필요 없이 절대 경로를 지정해도 되겠죠//아랫쪽 의 파일에서라이브러리는 절대경로(d:\stm32_iar\lib\HAL\)로 지정하고 있고소스파일은 상대경로($PROJ_DIR$\)로 지정하고 있습니다.//Project.ewp 이 파일은 복사해서 사본(Project - 복사본.ewp)을 하나 만들어두는 것도 좋겠죠//프로젝트 폴더를 하나로 만든다는 것은위처럼 프로젝트 폴더안에 소스파일과 헤더파일을 한꺼번에 만든다는 것을 의미합니다.파일 몇개 되지도 않는데 폴더를 각각 만들면 복잡해서 합쳤습니다.위 방법은 제가 편한대로 변경하는 것인데, 각자의 취향이나 습관대로 하셔도 됩니다.^^
댓글 0
조회수 2,398등록된 댓글이 없습니다.