设为首页 加入收藏

TOP

pcDuino第一个裸板程序uart0
2014-11-24 07:20:54 来源: 作者: 【 】 浏览:0
Tags:pcDuino 一个 程序 uart0

全志A10是性能很好的国产SOC,看到这么多的A10平板就知道了。A10采用Crotex A8核心,主频达到1.2GHz,性价比极高,但网上资料很少,下面给大家分享我的A10学习日记,希望越来越多的人使用国产芯片。


我学处理器,喜欢从CPU执行的第一条指令开始,这样能够彻底搞清楚CPU的启动过程,为后面的u-boot以及内核移植做准备。下面是我写的第一个A10裸板串口实验,给大家分享写的全过程:


开发环境:


pcDuino


arm-none-linux-gnueabi-gcc(arm-2009q3)


首先是UARTO实验的第一个汇编文件start.S:


.global _start
_start:
ldr sp, =0x00007f00 //条用C程序之前设置好堆栈
b main


汇编很头痛,就先写这几句吧很简单,接下来都是C程序。


文件main.c:


#include "clock.h"
#include "uart.h"
#include "lib.h"
#define PB_CFG2 (*(volatile unsigned int *)0x01c2082c)


void gpio_init()
{
/*bit[30:28]:PB23_SELECT 010:UART0_RX
*bit[26:24]:PB22_SELECT 010:UART0_TX
*/
PB_CFG2 |= ((0x2<<24)|(0x2<<28));
}
int main(void)
{
char c;
clock_init(); /* 初始化时钟 */
gpio_init();
uart_init(); /* 初始化UART0 */


uart_putchar('O');
uart_putchar('K');
while (1)
{
do {
c = uart_getchar();
if (c == '\n' || c == '\r')
{
putchar('\n');
//putchar('\r');
}
else
{
putchar(c);
}
} while (c == '\n' || c == '\r');
}
return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇pcDuino的Linux移植心得笔记 下一篇micro2440第一个裸板程序LED

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·python数据分析岗的 (2025-12-25 10:02:21)
·python做数据分析需 (2025-12-25 10:02:19)
·成为一个优秀的pytho (2025-12-25 10:02:16)
·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)