2023年12月30日发(作者:)

下面把主函数复制过来简单看下:

ZSEG int main( void )

{

// Turn off interrupts------------关闭中断

osal_int_disable( INTS_ALL );

// Initialize HAL-----------初始化HAL,关于HAL是什么我想后面会有介绍的。

HAL_BOARD_INIT();

// Make sure supply voltage is high enough to run----电压检测,最好是能保证芯片能正常工作的电压

zmain_vdd_check();

// Initialize stack memory-------------初始化stack存储区

zmain_ram_init();

// Initialize board I/O------------初始化板载IO

InitBoard( OB_COLD );

// Initialze HAL drivers-------------初始化HAL驱动

HalDriverInit();

// Initialize NV System--------------初始化NV系统,NV是什么后面我想也会有介绍的

osal_nv_init( NULL );

// Determine the extended address------------确定扩展地址(64位IEEE/物理地址)

zmain_ext_addr();

// Initialize basic NV items----------------初始化基本NV条目

zgInit();

// Initialize the MAC----------------初始化MAC

ZMacInit();

#ifndef NONWK

// Since the AF isn't a task, call it's initialization routine

afInit();

#endif

// Initialize the operating system----------初始化操作系统,看样子这里面还有OS,麻烦了……..!

osal_init_system();

// Allow interrupts-------------允许中断

osal_int_enable( INTS_ALL );

// Final board initialization------------------最后的版在初始化

InitBoard( OB_READY );

// Display information about this device---------------显示设备信息

zmain_dev_info();

/* Display the device info on the LCD */------------液晶支持显示

#ifdef LCD_SUPPORTED

zmain_lcd_init();

#endif

osal_start_system(); // No Return from here-------------------这里没有返回,大概是进入OS了。

} // main()