4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-02-22 22:29:12 +08:00

!317 Perfect AT32 BSP

Merge pull request !317 from Dozingfiretruck/gitee_master
This commit is contained in:
bernard 2021-09-23 10:53:53 +00:00 committed by Gitee
commit 1e663b72ce
6 changed files with 134 additions and 90 deletions

View File

@ -6,10 +6,12 @@
* Change Logs: * Change Logs:
* Date Author Notes * Date Author Notes
* 2020-05-19 shelton first version * 2020-05-19 shelton first version
* 2021-08-125 Dozingfiretruck implement RTC framework V2.0
*/ */
#include "board.h" #include "board.h"
#include <rtthread.h> #include <rtthread.h>
#include <rtdevice.h>
#include <sys/time.h> #include <sys/time.h>
#ifdef BSP_USING_RTC #ifdef BSP_USING_RTC
@ -24,8 +26,6 @@
#define BKUP_REG_DATA 0xA5A5 #define BKUP_REG_DATA 0xA5A5
static struct rt_device rtc;
static time_t get_rtc_timestamp(void) static time_t get_rtc_timestamp(void)
{ {
#ifdef SOC_SERIES_AT32F415 #ifdef SOC_SERIES_AT32F415
@ -93,25 +93,7 @@ static rt_err_t set_rtc_time_stamp(time_t time_stamp)
return RT_EOK; return RT_EOK;
} }
static void rt_rtc_init(void) static rt_err_t rt_rtc_config(void)
{
#if defined (SOC_SERIES_AT32F415)
RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR, ENABLE);
#else
RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR | RCC_APB1PERIPH_BKP, ENABLE);
#endif
#ifdef BSP_RTC_USING_LSI
RCC_LSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_LSISTBL) == RESET);
#else
PWR_BackupAccessCtrl(ENABLE);
RCC_LSEConfig(RCC_LSE_ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_LSESTBL) == RESET);
#endif /* BSP_RTC_USING_LSI */
}
static rt_err_t rt_rtc_config(struct rt_device *dev)
{ {
#if defined (SOC_SERIES_AT32F415) #if defined (SOC_SERIES_AT32F415)
ERTC_InitType ERTC_InitStructure; ERTC_InitType ERTC_InitStructure;
@ -166,73 +148,70 @@ static rt_err_t rt_rtc_config(struct rt_device *dev)
return RT_EOK; return RT_EOK;
} }
static rt_err_t rt_rtc_control(rt_device_t dev, int cmd, void *args) static rt_err_t _rtc_init(void)
{ {
rt_err_t result = RT_EOK; #if defined (SOC_SERIES_AT32F415)
RT_ASSERT(dev != RT_NULL); RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR, ENABLE);
switch (cmd) #else
RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR | RCC_APB1PERIPH_BKP, ENABLE);
#endif
#ifdef BSP_RTC_USING_LSI
RCC_LSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_LSISTBL) == RESET);
#else
PWR_BackupAccessCtrl(ENABLE);
RCC_LSEConfig(RCC_LSE_ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_LSESTBL) == RESET);
#endif /* BSP_RTC_USING_LSI */
if (rt_rtc_config() != RT_EOK)
{
LOG_E("rtc init failed.");
return -RT_ERROR;
}
return RT_EOK;
}
static rt_err_t _rtc_get_secs(void *args)
{ {
case RT_DEVICE_CTRL_RTC_GET_TIME:
*(rt_uint32_t *)args = get_rtc_timestamp(); *(rt_uint32_t *)args = get_rtc_timestamp();
LOG_D("RTC: get rtc_time %x\n", *(rt_uint32_t *)args); LOG_D("RTC: get rtc_time %x\n", *(rt_uint32_t *)args);
break;
case RT_DEVICE_CTRL_RTC_SET_TIME: return RT_EOK;
}
static rt_err_t _rtc_set_secs(void *args)
{
rt_err_t result = RT_EOK;
if (set_rtc_time_stamp(*(rt_uint32_t *)args)) if (set_rtc_time_stamp(*(rt_uint32_t *)args))
{ {
result = -RT_ERROR; result = -RT_ERROR;
} }
LOG_D("RTC: set rtc_time %x\n", *(rt_uint32_t *)args); LOG_D("RTC: set rtc_time %x\n", *(rt_uint32_t *)args);
break;
}
return result; return result;
} }
#ifdef RT_USING_DEVICE_OPS static const struct rt_rtc_ops _rtc_ops =
const static struct rt_device_ops rtc_ops =
{ {
_rtc_init,
_rtc_get_secs,
_rtc_set_secs,
RT_NULL, RT_NULL,
RT_NULL, RT_NULL,
RT_NULL, RT_NULL,
RT_NULL, RT_NULL,
RT_NULL,
rt_rtc_control
}; };
#endif
static rt_err_t rt_hw_rtc_register(rt_device_t device, const char *name, rt_uint32_t flag) static rt_rtc_dev_t at32_rtc_dev;
{
RT_ASSERT(device != RT_NULL);
rt_rtc_init();
if (rt_rtc_config(device) != RT_EOK)
{
return -RT_ERROR;
}
#ifdef RT_USING_DEVICE_OPS
device->ops = &rtc_ops;
#else
device->init = RT_NULL;
device->open = RT_NULL;
device->close = RT_NULL;
device->read = RT_NULL;
device->write = RT_NULL;
device->control = rt_rtc_control;
#endif
device->type = RT_Device_Class_RTC;
device->rx_indicate = RT_NULL;
device->tx_complete = RT_NULL;
device->user_data = RT_NULL;
/* register a character device */
return rt_device_register(device, name, flag);
}
int rt_hw_rtc_init(void) int rt_hw_rtc_init(void)
{ {
rt_err_t result; rt_err_t result;
result = rt_hw_rtc_register(&rtc, "rtc", RT_DEVICE_FLAG_RDWR); at32_rtc_dev.ops = &_rtc_ops;
result = rt_hw_rtc_register(&at32_rtc_dev, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL);
if (result != RT_EOK) if (result != RT_EOK)
{ {
LOG_E("rtc register err code: %d", result); LOG_E("rtc register err code: %d", result);

View File

@ -10,9 +10,10 @@
<aExt>*.s*; *.src; *.a*</aExt> <aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj</oExt> <oExt>*.obj</oExt>
<lExt>*.lib</lExt> <lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc</tExt> <tExt>*.txt; *.h; *.inc; *.md</tExt>
<pExt>*.plm</pExt> <pExt>*.plm</pExt>
<CppX>*.cpp</CppX> <CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions> </Extensions>
<DaveTm> <DaveTm>
@ -31,6 +32,7 @@
<BeepAtEnd>1</BeepAtEnd> <BeepAtEnd>1</BeepAtEnd>
<RunSim>1</RunSim> <RunSim>1</RunSim>
<RunTarget>0</RunTarget> <RunTarget>0</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT> </OPTTT>
<OPTHX> <OPTHX>
<HexSelection>1</HexSelection> <HexSelection>1</HexSelection>
@ -96,10 +98,12 @@
<tRtrace>0</tRtrace> <tRtrace>0</tRtrace>
<sRSysVw>1</sRSysVw> <sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw> <tRSysVw>1</tRSysVw>
<tPdscDbg>0</tPdscDbg>
<sRunDeb>0</sRunDeb> <sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime> <sLrtime>0</sLrtime>
<nTsel>6</nTsel> <bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>3</nTsel>
<sDll></sDll> <sDll></sDll>
<sDllPa></sDllPa> <sDllPa></sDllPa>
<sDlgDll></sDlgDll> <sDlgDll></sDlgDll>
@ -110,9 +114,14 @@
<tDlgDll></tDlgDll> <tDlgDll></tDlgDll>
<tDlgPa></tDlgPa> <tDlgPa></tDlgPa>
<tIfile></tIfile> <tIfile></tIfile>
<pMon>Segger\JL2CM3.dll</pMon> <pMon>BIN\CMSIS_AGDI.dll</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>CMSIS_AGDI</Key>
<Name>-X"AT-Link-EZ-CMSIS-DAP" -U9BE164220040B56D0117B002 -O78 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0AT32F403A_1024 -FS08000000 -FL0100000</Name>
</SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>JL2CM3</Key> <Key>JL2CM3</Key>
@ -151,11 +160,22 @@
<aSer4>0</aSer4> <aSer4>0</aSer4>
<StkLoc>0</StkLoc> <StkLoc>0</StkLoc>
<TrcWin>0</TrcWin> <TrcWin>0</TrcWin>
<newCpu>1</newCpu> <newCpu>0</newCpu>
<uProt>0</uProt> <uProt>0</uProt>
</DebugFlag> </DebugFlag>
<LintExecutable></LintExecutable> <LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile> <LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
</TargetOption> </TargetOption>
</Target> </Target>

View File

@ -10,7 +10,7 @@
<aExt>*.s*; *.src; *.a*</aExt> <aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj; *.o</oExt> <oExt>*.obj; *.o</oExt>
<lExt>*.lib</lExt> <lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc</tExt> <tExt>*.txt; *.h; *.inc; *.md</tExt>
<pExt>*.plm</pExt> <pExt>*.plm</pExt>
<CppX>*.cpp</CppX> <CppX>*.cpp</CppX>
<nMigrate>0</nMigrate> <nMigrate>0</nMigrate>
@ -101,7 +101,9 @@
<sRunDeb>0</sRunDeb> <sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime> <sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn> <bEvRecOn>1</bEvRecOn>
<nTsel>6</nTsel> <bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>3</nTsel>
<sDll></sDll> <sDll></sDll>
<sDllPa></sDllPa> <sDllPa></sDllPa>
<sDlgDll></sDlgDll> <sDlgDll></sDlgDll>
@ -112,7 +114,7 @@
<tDlgDll></tDlgDll> <tDlgDll></tDlgDll>
<tDlgPa></tDlgPa> <tDlgPa></tDlgPa>
<tIfile></tIfile> <tIfile></tIfile>
<pMon>Segger\JL2CM3.dll</pMon> <pMon>BIN\CMSIS_AGDI.dll</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
<SetRegEntry> <SetRegEntry>
@ -170,6 +172,10 @@
<pszMrule></pszMrule> <pszMrule></pszMrule>
<pSingCmds></pSingCmds> <pSingCmds></pSingCmds>
<pMultCmds></pMultCmds> <pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
</TargetOption> </TargetOption>
</Target> </Target>

View File

@ -10,6 +10,7 @@
<TargetName>rt-thread</TargetName> <TargetName>rt-thread</TargetName>
<ToolsetNumber>0x4</ToolsetNumber> <ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<uAC6>0</uAC6>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>AT32F403AVGT7</Device> <Device>AT32F403AVGT7</Device>
@ -72,6 +73,8 @@
<UserProg2Name></UserProg2Name> <UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode> <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode> <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopB1X>0</nStopB1X>
<nStopB2X>0</nStopB2X>
</BeforeMake> </BeforeMake>
<AfterMake> <AfterMake>
<RunUserProg1>1</RunUserProg1> <RunUserProg1>1</RunUserProg1>
@ -80,6 +83,8 @@
<UserProg2Name></UserProg2Name> <UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode> <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode> <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopA1X>0</nStopA1X>
<nStopA2X>0</nStopA2X>
</AfterMake> </AfterMake>
<SelectedForBatchBuild>0</SelectedForBatchBuild> <SelectedForBatchBuild>0</SelectedForBatchBuild>
<SVCSIdString></SVCSIdString> <SVCSIdString></SVCSIdString>
@ -141,10 +146,9 @@
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>0</RestoreTracepoints> <RestoreTracepoints>0</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw> <RestoreSysVw>1</RestoreSysVw>
<UsePdscDebugDescription>0</UsePdscDebugDescription>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>6</TargetSelection> <TargetSelection>3</TargetSelection>
<SimDlls> <SimDlls>
<CpuDll></CpuDll> <CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments> <CpuDllArguments></CpuDllArguments>
@ -158,7 +162,7 @@
<PeripheralDll></PeripheralDll> <PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments> <PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile></InitializationFile> <InitializationFile></InitializationFile>
<Driver>Segger\JL2CM3.dll</Driver> <Driver>BIN\CMSIS_AGDI.dll</Driver>
</TargetDlls> </TargetDlls>
</DebugOption> </DebugOption>
<Utilities> <Utilities>
@ -168,11 +172,11 @@
<RunIndependent>0</RunIndependent> <RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability> <Capability>1</Capability>
<DriverSelection>4096</DriverSelection> <DriverSelection>4099</DriverSelection>
</Flash1> </Flash1>
<bUseTDR>1</bUseTDR> <bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2CM3.DLL</Flash2> <Flash2>BIN\CMSIS_AGDI.dll</Flash2>
<Flash3></Flash3> <Flash3>"" ()</Flash3>
<Flash4></Flash4> <Flash4></Flash4>
<pFcarmOut></pFcarmOut> <pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp> <pFcarmGrp></pFcarmGrp>
@ -218,12 +222,15 @@
<hadXRAM>0</hadXRAM> <hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam> <uocXRam>0</uocXRam>
<RvdsVP>2</RvdsVP> <RvdsVP>2</RvdsVP>
<RvdsMve>0</RvdsMve>
<RvdsCdeCp>0</RvdsCdeCp>
<hadIRAM2>0</hadIRAM2> <hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2> <hadIROM2>0</hadIROM2>
<StupSel>8</StupSel> <StupSel>8</StupSel>
<useUlib>0</useUlib> <useUlib>0</useUlib>
<EndSel>0</EndSel> <EndSel>0</EndSel>
<uLtcg>0</uLtcg> <uLtcg>0</uLtcg>
<nSecure>0</nSecure>
<RoSelD>3</RoSelD> <RoSelD>3</RoSelD>
<RwSelD>3</RwSelD> <RwSelD>3</RwSelD>
<CodeSel>0</CodeSel> <CodeSel>0</CodeSel>
@ -357,7 +364,15 @@
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>1</uC99> <uC99>1</uC99>
<uGnu>0</uGnu>
<useXO>0</useXO> <useXO>0</useXO>
<v6Lang>1</v6Lang>
<v6LangP>1</v6LangP>
<vShortEn>1</vShortEn>
<vShortWch>1</vShortWch>
<v6Lto>0</v6Lto>
<v6WtE>0</v6WtE>
<v6Rtti>0</v6Rtti>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -375,6 +390,7 @@
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO> <useXO>0</useXO>
<ClangAsOpt>1</ClangAsOpt>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>

View File

@ -11,11 +11,12 @@
<ToolsetNumber>0x4</ToolsetNumber> <ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed> <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>AT32F403AVGT7</Device> <Device>AT32F403AVGT7</Device>
<Vendor>ArteryTek</Vendor> <Vendor>ArteryTek</Vendor>
<PackID>Keil.AT32F4xx_DFP.1.3.1</PackID> <PackID>Keil.AT32F4xx_DFP.1.3.2</PackID>
<Cpu>IRAM(0x20000000,0x38000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu> <Cpu>IRAM(0x20000000,0x38000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec> <FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile> <StartupFile></StartupFile>
@ -132,11 +133,11 @@
<RunIndependent>0</RunIndependent> <RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability> <Capability>1</Capability>
<DriverSelection>4096</DriverSelection> <DriverSelection>4099</DriverSelection>
</Flash1> </Flash1>
<bUseTDR>1</bUseTDR> <bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2CM3.DLL</Flash2> <Flash2>BIN\CMSIS_AGDI.dll</Flash2>
<Flash3></Flash3> <Flash3>"" ()</Flash3>
<Flash4></Flash4> <Flash4></Flash4>
<pFcarmOut></pFcarmOut> <pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp> <pFcarmGrp></pFcarmGrp>
@ -182,6 +183,8 @@
<hadXRAM>0</hadXRAM> <hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam> <uocXRam>0</uocXRam>
<RvdsVP>2</RvdsVP> <RvdsVP>2</RvdsVP>
<RvdsMve>0</RvdsMve>
<RvdsCdeCp>0</RvdsCdeCp>
<hadIRAM2>0</hadIRAM2> <hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2> <hadIROM2>0</hadIROM2>
<StupSel>8</StupSel> <StupSel>8</StupSel>
@ -322,6 +325,7 @@
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>1</uC99> <uC99>1</uC99>
<uGnu>0</uGnu>
<useXO>0</useXO> <useXO>0</useXO>
<v6Lang>1</v6Lang> <v6Lang>1</v6Lang>
<v6LangP>1</v6LangP> <v6LangP>1</v6LangP>
@ -347,7 +351,7 @@
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO> <useXO>0</useXO>
<uClangAs>0</uClangAs> <ClangAsOpt>4</ClangAsOpt>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>

View File

@ -4,6 +4,24 @@ import shutil
cwd_path = os.getcwd() cwd_path = os.getcwd()
sys.path.append(os.path.join(os.path.dirname(cwd_path), 'rt-thread', 'tools')) sys.path.append(os.path.join(os.path.dirname(cwd_path), 'rt-thread', 'tools'))
def bsp_update_kconfig_library(dist_dir):
# change RTT_ROOT in Kconfig
if not os.path.isfile(os.path.join(dist_dir, 'Kconfig')):
return
with open(os.path.join(dist_dir, 'Kconfig'), 'r') as f:
data = f.readlines()
with open(os.path.join(dist_dir, 'Kconfig'), 'w') as f:
found = 0
for line in data:
if line.find('RTT_ROOT') != -1:
found = 1
if line.find('../Libraries') != -1 and found:
position = line.find('../Libraries')
line = line[0:position] + 'Libraries/Kconfig"\n'
found = 0
f.write(line)
# BSP dist function # BSP dist function
def dist_do_building(BSP_ROOT, dist_dir): def dist_do_building(BSP_ROOT, dist_dir):
from mkdist import bsp_copy_files from mkdist import bsp_copy_files
@ -18,3 +36,4 @@ def dist_do_building(BSP_ROOT, dist_dir):
print("=> copy bsp drivers") print("=> copy bsp drivers")
bsp_copy_files(os.path.join(library_path, 'rt_drivers'), os.path.join(library_dir, 'rt_drivers')) bsp_copy_files(os.path.join(library_path, 'rt_drivers'), os.path.join(library_dir, 'rt_drivers'))
shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig')) shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig'))
bsp_update_kconfig_library(dist_dir)