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:
commit
1e663b72ce
@ -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);
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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)
|
Loading…
x
Reference in New Issue
Block a user