由于ambiq的芯片也是最近这几年才出来,市面上的资料比较少,这里就遇到的问题做一下积累。。。。。
具体型号 ambiq micro apollo 512 BGA
滴答定时的使用: 这个很简单,不过由于当时对芯片还有程序还不够熟悉,也卡住了一两天
由于内核是cortex-m4,自己建立工程的话可以在manage run-time environment对话框的device选项里面勾选startup 为工程添加启动文件 启动文件 包括三个
这样一来,这三个文件里有一个文件就包含有了一个core_cm4.h文件 而core_cm4.h文件包含了滴答定时器的初始化函数SysTick_Config 直接调用就可以了
因为我使用了最大频率24M在跑,所以这里应该是SysTick_Config(24000); 这样就可以产生1ms的中断, 到了这里中断信号能产生了,但是到不了内核,
还要在中断控制器(nvic)那里使能clkgen中断 还有使能总中断
am_hal_interrupt_enable(AM_HAL_INTERRUPT_CLKGEN);//enable rtc interrupt
am_hal_interrupt_master_enable(); //enable global interrupt
这两个函数调用了ambiq的官方库 这个得自行添加了。。。。
官方的固件库也有针对systick的操作函数,所以调用下面这三个函数也是可以的。。。。
am_hal_systick_load
am_hal_systick_int_enable
am_hal_systick_start