关于MSTAR的IO初始化
volatile U8 code padInitTbl[]= //attribute((section (".isp_info"))) =
drvPadConf.c中这个初始化表,是用来实现对IO PORT的功能实现初始化的。跟了一下这个结构。表非常长,相当于把每一个IO定义了一遍,形成了一个数据表,这个表在
void MDrv_Pad_Init( void )中实调用,
void MDrv_Pad_Init( void )
{
U8 code *pPadConfig;
U8 u8Length;
U16 u16Index; // register index
u32MapBase = _MapBase_nonPM_MAYA;
pPadConfig = (U8 *)padInitTbl + 10;
while (1)
{
u16Index = (pPadConfig[0] << 8) + (pPadConfig[1]);
if (u16Index == 0xFFFF) // check end of table
break;
pPadConfig += 2;
if(u16Index == 0x0000) // switch base address
{
if(

本文详细介绍了MSTAR中IO端口初始化的过程。通过分析drvPadConf.c中的padInitTbl初始化表,解释了如何通过MDrv_Pad_Init()函数对每个IO进行配置。此外,还描述了该函数如何在SYSINIT.C文件中的start()函数中被调用。
最低0.47元/天 解锁文章
798

被折叠的 条评论
为什么被折叠?



