马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 xqandwn 于 2020-4-22 14:27 编辑
BSP介绍
Agile提供了一个简单的bsp,里面包含了bus、gpio、uart、interrupt的函数。bsp驱动屏蔽了硬件底层信息,对用户提供了一个抽象层次高的API。
(1) bus
bus文件夹下面只包含1个bus.h文件,文件中用宏定义的方式定义了两个函数:bus_read()和bus_write()。外部总线的偏移量为0x80000000,在Agile的底层中已经减去了这个偏移量,每个地址对应的数据宽度为32bit,所以对用户来说,外部总线地址为:0x0000000 - 0xFFFFFFF,一共只有28bit。
bus函数读写示例:
(2) gpio
gpio文件夹下包含3个文件:gpio.h、gpio_read.c、gpio_write.c,gpio挂载到Agile内部总线上,一共定义了32个双向IO,32个gpio完全独立。gpio.h里面定义了两个函数gpio_read()和gpio_write()。
GPIO函数读写示例:
(3) uart
uart文件夹下面包含5个文件,print_int.c、print_str.c、uart.h、uart_rx.c、uart_tx.c。串口波特率由Agile参数化设置,串口接收中断ID等于0。
UART函数读写示例:
(3) interrupt
interrupt文件夹下面包含3个文件:interrupt.c、interrupt.h、irq_fun.c。串口中断函数根据中断ID,执行对应的函数。agile不支持中断优先级和中断嵌套。
中断函数应用示例:
首先需要在main函数中初始化中断函数,传递中断函数地址
其次,在中断函数中获取中断ID,根据中断ID执行对应的中断函数
....未完待续....
|