ARM嵌入式裸机简单了解

基于正点原子 ALPHA开发板

开发环境的搭建

文件互传

FTP

打开Ubuntu的FTP服务

sudo apt-get install vsftpd  #失败重启重新执行即可

打开配置文件

sudo vi /etc/vsftpd.conf

#确保
#local_enable=YES
#write_enable=YES

重启ftp

sudo /etc/init.d/vsftpd restart

window安装FileZilla客户端软件。

通过FTP协议互传文档

samba

百度经验

NFS和SSH服务

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利

安装nfs

sudo apt-get install nfs-kernel-server rpcbind

创建nfs文件夹

创建的文件夹供 nfs 服务器使用,以后我们可以在开发板上通过网络文件系统来访问 nfs 文件夹,要先配置 nfs

sudo vi /etc/exports

添加下面的内容

/home/zuozhongkai/linux/nfs *(rw,sync,no_root_squash)

重启NFS

sudo /etc/init.d/nfs-kernel-server restart

开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu

安装命令

sudo apt-get install openssh-server

交叉编译器的安装

官网下载64位(gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz)交叉编译工具

开始操作:

创建目录

sudo mkdir /usr/local/arm

将文件拷贝到该目录

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f

解压

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

添加环境变量

配置文件/etc/profile

最后一行添加

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

安装相关库

sudo apt-get install lsb-core lib32stdc++6

验证是否安装成功

arm-linux-gnueabihf-gcc -v

重启Ubuntu

使用汇编简单点亮LED灯

本程序基于正点原子Linux开发板。灯对应引脚为GPIO1_IO3

为什么要学习Cortex-A汇编

①、需要用汇编初始化一些SOC外设。
②、使用汇编初始化DDR,I.MX6U不需要。
③、设置sp指针,一般指向DDR,设置好C语言运行环境。

ALPHA开发板LED灯硬件驱动流程

STM32 IO初始化流程
①、使能GPIO时钟。
②、设置IO复用,将其复用为GPIO
③、配置GPIO的电气属性。
④、使用GPIO,输出高/低电平。

I.MX6ULL IO初始化
①、使能时钟,CCGR0CCGR6这7个寄存器控制着6ULL所有外设时钟的使能。为了简单,设置CCGR0CCGR6这7个寄存器全部为0XFFFFFFFF,相当于使能所有外设时钟。
②、IO复用,将寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03的bit3~0设置为0101=5,这样GPIO1_IO03就复用为GPIO。
③、寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03是设置GPIO1_IO03的电气属性。包括压摆率、速度、驱动能力、开漏、上下拉等。
④、配置GPIO功能,设置输入输出。设置GPIO1_DR寄存器bit3为1,也就是设置为输出模式。设置GPIO1_DR寄存器的bit3,为1表示输出高电平,为0表示输出低电平。

汇编简介

汇编由一条一条指令构成,指令就涉及到汇编指令。
假设a地址为0X20,b地址为0x30
C赋值:

int a,b;
a=b;

Contex-A汇编赋值

LDR R0, =0X30
LDR R1, [R0]
LDR R0, =0X20
STR R1, [R0]

在使用汇编编写驱动的时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值