资源描述
嵌入式Linux系统原理及开发
实验指书
计算机与信息工程学院电子教研室
实验一 Linux的安装、启动和关闭
一、 实验目的
1、 学习Linux的基本分区和安装;
2、 学习Linux的启动与关闭;
二、 实验要求
1、 了解Linux的安装过程和安装的基本要求;
2、 了解Linux的启动过程和关闭方法;
三、 预备知识
1、 Linux的文件系统;
2、 虚拟机VMware Workstation的基本操作;
四、 实验内容及方法
光盘映像文件存放在实习机器的D:\光盘镜像\Linux.iso中;
1、Linux的安装(通过光盘(映像)安装)
1) 安装 VMware Workstation:VMware Workstation安装在C:\VMware Workstation中,首先运行“启动服务.cmd”,启动其中的第1,2项服务;然后运行“vmware.exe”启动虚拟机。
2) 选择“File”→“New” →“New Virtual Machine”创建一个 Linux 虚拟机。要求创建的虚拟硬盘不小于3G;在“Virtual Machine Configuration”选项卡中,
3) 将安装光盘放入光驱或加载安装光盘的映像文件(双击“Summary”中的 “CDRom” →选择“Use Iso Image”选项→指定映像文件的位置);
4) 选择“Power” →“Power on” 或 点击工具栏上的 按钮启动虚拟机
5) 迅速在窗口的客户区点击鼠标左键让虚拟机锁定鼠标,然后在屏幕有提示时按下 F2 键进入虚拟机的 BIOS 设定;在 Boot 区设定 CDRom 为第一启动
6) 进入安装程序安装程序;这个过程按照选择安装内容的不同大概需要20-60分钟。
注意:在使用虚拟机时,光标是被锁定在虚拟机的客户区内的,若要取消锁定按 Ctrl+Alt 组合键。
2、 Linux的启动和关闭
1) 启动:加电启动。
若按上面步骤安装,则Linux默认启动级别是3级,即命令行模式(文本模式);若想将默认启动改为图形登录(Xwindow登录界面),只需要以root身份登录,修改 /etc/inittab 中
id : 3 : initdefault :
的内容为:
id : 5 : initdefault :
即可。下次启动时便可直接进入 X Window 环境。
2) 关闭系统:
在命令行模式下执行
poweroff
或
shutdown –h now [ 提示信息 ]
其中:–h:表示停止系统
now:表示现在立即执行关闭操作
提示信息:为可选内容,它将广播到登录系统的每个用户
或
shutdown –h +10
表示10分钟后关闭系统
3) 重启系统
reboot
或
shutdown –r now
-r:reboot表示重启系统
3、 Linux网络配置
假如在安装过程中没有配置网络,则用以下操作临时启用本机网络:
1) 使用ifconfig配置IP地址:假设你要配置的网卡的设备名为eth0
首先停止网卡:ifdown eth0
配置IP地址并启用网卡:ifconfig eth0 IP地址 netmask 子掩码
2) 使用route添加默认网关
route add default gw 网关地址
3) 添加域名服务器
echo 域名服务器IP > /etc/resolv.conf
注意:以上操作必须由root用户完成
实验二 Linux命令操作
一、 实验目的
1、 学习Linux中常用系统命令
2、 学习Linux中账号管理
3、 学习使用常用实用程序
4、 学习使用正则表达式
5、 学习VI编辑器的基本操作
6、 学习Linux的文件和目录管理
二、 实验要求
1、 掌握常用的系统命令
2、 掌握Linux中的账号管理
3、 掌握重要的实用程序:more、less、cat、grep
4、 熟悉正则表达式
5、 熟悉VI的基本操作
6、 掌握基本的文件目录管理命令:ls、mv、cp、tar
7、 掌握文件目录的权限管理
三、 注意事项
在Unix/Linux 中是大小写敏感,因此注意命令及参数的书写
注意权限问题。在Unix/Linux中,每个用户都有自己的权限范围,在操作时一定要注意自己是否有权进行操作。
注意区别文件和目录权限的不同之处
注意硬连接与符号连接各自不同之处及应用
注意对SUID和SGID的使用
四、 实验内容
(一) 常用命令
Linux的登录与退出
关机:
poweroff 或
shutdown -h now
重启系统:
reboot 或
shutdown –r now
注:此操作只能由系统管理员(root)来执行。
课本1.3 中的系统命令:man、date、who、uptime、passwd的使用
passwd 修改当前用户的口令
passwd 用户名 修改指定用户的口令,只能用root来完成
与其他用户通讯命令:write、talk、wall、mesg
课本第二章中的实用程序:more、less、cat、head与tail、wc、tee;
练习正则表达式及grep、egrep、awk、tr的使用;
用户管理(root用户有权)
添加用户:adduseradd 用户名
删除用户:userdel 用户名
添加用户组:groupadd 组名
删除用户组:groupdel 组名’组内所有用户都已被删除
查看/etc/passwd文件内容
cat /etc/passwd 文件中记录系统中所有用户的信息,内容如下:
root : x : 0 : 0 : root : /root : /bin/sh
其中:第一列为用户名,第二列口令,第三列用户ID(UID),第四列用户组ID(GID),第五列用户描述,第六列用户主目录,第七列用户shell
其中用户口令单独存放在 /etc/shadow文件中。
(二) vi编辑器的使用
使用命令:
cp /etc/httpd/conf/httpd.conf ./
复制一个文本文件 httpd.conf 到自己的目录中,然后用vi进行编辑练习第三章学习的命令。
五、 思考题
写出目录与文件权限的不同之处
写出硬连接与符号连接各自不同之处
实验三 Shell
一、 实验目的
了解Shell的功能,理解Shell相关的概念;
掌握Bash操作方法和环境设置
二、 实验要求
熟悉Bash Shell的环境及基本设置和技巧
掌握Bash Shell常用命令
掌握输入输出重定向和管道
掌握程序的前后台执行
三、 实验内容
Bash 的操作技巧
使用命令历史――history
使用命令补全功能——Tab键
使用命令别名
alias 查看已定义的命令别名
alias copy=‘cp’ 为cp 定义一个别名 copy
unalias copy 取消别名 copy
分号――多命令执行
ls;date 执行完ls命令后继续执行date命令
括号――()
(ls;date)>>list 将两个文件的输出结果作为整体输出到list中
输入输出重定向和管道
输入重定向:
write zz<msg.txt 将文件msg.txt的内容作为write的输入
标准输出重定向:
ls >ls.txt 将命令ls的输出输入到ls.txt中(原内容被覆盖)
ls >> ls.txt 将命令ls的输出追加到ls.txt中
标准错误重定向
mkdir /etc/ttmp 2>err.log 将命令出错的信息输出到err.log中
管道
ls –l|grep ‘^d’ 将ls命令的输出作为grep的输入
Shell标准环境变量
set 查看shell所有环境变量
HOME 用户主目录的路径名
PATH 命令查找路径
PS1和PS2
PS1 B-Shell主提示符,PS2 副提示符
TERM 指定终端类型名
显示变量值:echo $变量名
给变量赋值:变量名=值
程序的前后台切换
Ctrl+z 将正在执行的程序切换到后台执行
jobs 查看所有后台执行的程序
fg 编号 将后台执行的程序切换到前台执行
实验四 Shell编程
四、 实验目的
理解Shell的变量、条件表达式、流程控制和函数的概念,掌握Shell编程的基本方法。
五、 实验要求
shell程序的格式。
环境变量、变量参数、用户变量。
条件表达式,文件条件、字符串条件、数学条件和逻辑操作符标达式。
流程控制。If, for, while等。
函数。
六、 实验内容
变量练习
#!/bin/sh
#It is my first shell script to test variables
echo The PATH enviroment variable is : $PATH
echo The PID is : $$
echo The script file name is : $0
echo The first parameter is : $1
echo The second parameter is : $2
echo The third parameter is : $3
echo The IFS enviroment varable is : $IFS
echo The ‘$*’ parament variable is : “$*”
echo The ‘$@’ parament variable is “$@”
userlist=`who`
echo userlist|awk ‘{printf(“%s %s”,$1,$2)}’
exit 0
与脚本交互
#!/bin/sh
#My Second Shell Script to test the interaction between user and Script
num=0
while [ $num –lt 3 ]
do
echo –n Please Enter Your username:
read username
echo –n Please Enter Your Password
read passwd
[ $username = ‘abcd’ –a $passwd = ‘1234’ ] && {
echo Welcome To Our Site
break
}
num=`expr $num + 1 `
done
[ $num –eq 3 ] && Your have been fail for 3 times, System halt.
显示指定目录中,含有bin字符的文件名
#!/bin/sh
if [ $# -lt 1 ]
then
echo -n Please a Directory:
read dir
else
dir=$1
fi
if [ ! -d $dir ]
then
echo $dir isn't a dircory or don't exist...
exit 1
fi
for file in $dir/*
do
if grep –q bin $file
then
echo $file
fi
done
exit 0
函数使用
将指定目录中的所有文件备份当前目录
fcp(){
for file in $1/*
do
[ -f $file ] && {
cp $file ./
echo $file has been copied….
}
done
}
while true
do
echo –n “Please Enter a Directory name (Enter Return to exit):”
read dir
[ -z $dir ] && exit 0
If [ -d $dir ]
Then
fcp $dir
else
echo Enter Error…
fi
done
exit 0
七、 实验步骤
使用vi编辑器建立Shell脚本文件
#vi filename.sh
使用“chmod u+x 脚本文件名”标记脚本文件可执行
# chmod u+x filename.sh
执行/调试Shell脚本
#./filename
八、 作业
注释实习中4个shell脚本的每一条语句的功能。
实验四 烧写程序Jflash-s3c2410的使用
一、相应的bootloader映像文件
在做HARDWARE和ucosii的实验时要使用Jflash-s3c2410软件、Jflash电缆把
\实验软件\startup_code\hardboot.bin, 下载到NANFLASH里。该文件是一个做HARDWARE和ucosII实验的启动代码。
在做Linux实验时,要使用Jflash-s3c2410软件、Jflash电缆,把/实验软件/vivi,下载到NANFLASH里的,该文件是一个做linux实验的启动代码。
二、用Jflash-s3c2410软件烧写bootloader映像文件
1. 注意,必须在linux系统下,把实验软件(syrj)目录下的Jflash-s3c2410文件和vivi、hardboot.bin等文件拷贝到你的linux操作系统的同一个目录下。
2. 连接Jflash下载电缆到CPU S3C2410的JTAG接口上以及PC的并口上。
3. 在当前目录下的终端输入./Jflash-s3x2410 vivi /t=4,如检测到CPU,会出现S3C2410X.....detected的字样。同理,当做HARDWARE或ucosII实验时,则要首先确认NANDFlash中是否存在hardboot.bin,若没有,则使用./Jflash-s3x2410 hardboot.bin /t=4命令来下载到NANDFlash中。
4. 上步过后,你会看到三个选择项,输入0,回车
5. 再输入一次0,回车。如果正常的话,会出现Epppppppppp的界面,等待一段时间,待烧写完成。此时,有提示,输入2即可完成bootloader的下载。
6. 下载完之后,断电。
7. 若想做linux的实验,则在下载内核和文件系统前,需要先分区。连接串口线,系统切换到WIDOWS下,配置超级终端(115200,8位数据,1位停止位,无奇偶校验)。给系统上电,请快速按任意键进入VIVI。这是因为系统默认的延时时间较短的缘故。可以在进入到vivi下,使用命令param set boot_delay 10000000,改变延时时间,之后使用命令param save,保存改变的延时时间。
8. 启动vivi以后,输入如下命令:
vivi> bon part 0 128k 192k 2m 14m:m
该命令用于NANDFlash分区,建立好分区以后,不关掉电源或者Reset,立即执行重新下载vivi到板上(否则需要重新使用JFlash下载vivi)
9. 利用vivi通过超级终端重新下载vivi
vivi命令行下输入:vivi> load flash vivi x
通过超级终端发送文件,选择xmodem协议,发送vivi文件。
点击传送,发送文件出现下图图2-20-1和图2-20-2:
图2-20-1
图2-20-2
之后等待文件传送完成。
以上为下载启动代码的详细步骤。
实验五 ARM的I/O接口实验
一、实验目的
1. 了解S3C2410的通用I/O接口
2. 掌握I/0功能的复用并熟练的配置,进行编程实验
二、实验内容
1. 在实验箱的CPU板上点亮LED灯LED1、LED2,并轮流闪烁!
三、实验设备
1. EL-ARM-830+教学实验箱,PentiumII以上的PC机,仿真调试电缆。
2. PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,
仿真调试驱动程序。
四、实验原理
S3C2410 CPU 共有117个多功能复用输入输出口,分为8组端口:
l 4个16位的I/O端口 (PORT C、PORT D、PORT E、PORT G)
l 2个11位的I/O端口 (PORT B 和PORT H)
l 1个8位的I/O端口(PORT F)
l 1个23位的I/O端口(PORT A)
这些通用的GPI/O接口,是可配置的, PORTA除功能口外,它们仅用作输出使用,剩下的PORTB、PORTC、PORTD、PORTE、PORTF、PORTG均可作为输入输出口使用。
配置这些端口,是通过一些寄存器来实现的,这些寄存器均有各自的地址,位长32位。往该地址中写入相应的数据,即可实现功能及数据配置。
GPACON (0x56000000) //Port A control
GPADAT (0x56000004) //Port A data
GPBCON (0x56000010) //Port B control
GPBDAT (0x56000014) //Port B data
GPBUP (0x56000018) //Pull-up control B
GPCCON (0x56000020) //Port C control
GPCDAT (0x56000024) //Port C data
GPCUP (0x56000028) //Pull-up control C
GPDCON (0x56000030) //Port D control
GPDDAT (0x56000034) //Port D data
GPDUP (0x56000038) //Pull-up control D
GPECON (0x56000040) //Port E control
GPEDAT (0x56000044) //Port E data
GPEUP (0x56000048) //Pull-up control E
GPFCON (0x56000050) //Port F control
GPFDAT (0x56000054) //Port F data
GPFUP (0x56000058) //Pull-up control F
GPGCON (0x56000060) //Port G control
GPGDAT (0x56000064) //Port G data
GPGUP (0x56000068) //Pull-up control G
GPHCON (0x56000070) //Port H control
GPHDAT (0x56000074) //Port H data
GPHUP (0x56000078) //Pull-up control H
现用G口、H口举例说明。对于G口如表2-5-1、表2-5-2、表2-5-3,
表2-5-1
表2-5-2
表2-5-3
也就是说,在地址0x0x56000060中,给32位的每一位赋值,那么,在CPU的管脚上就定义了管脚的功能值。当G口某管脚配置成输出端口,则在PDATG对应的地址中的对应位上,写入1,则该管脚输出为高电平,写入0,则该管脚输出为低电平。若配置为功能管脚,则该管脚变成具体的功能脚。
对于H口见表2-5-4、表2-5-5、表2-5-6、表2-5-7
表2-5-4
表2-5-5
表2-5-6
表2-5-7
也就是说,在地址0x56000070中,给32位的每一位赋值,那么,在CPU的管脚上就定义了管脚的功能值。当H口某管脚配置成输入端口,则在GPHDAT对应的地址中的对应位上,得到1,则该管脚的输入为高电平,得到0,则该管脚的输入为低电平。当H口某管脚配置成输出端口,则在GPGDAT对应的地址中的对应位上,写入1,则该管脚输出为高电平,写入0,则该管脚输出为低电平。若配置为功能管脚,则该管脚变成具体的功能脚。其他端口配置请参见PDF文挡。
在程序中对GPI/O各寄存器的读写实现,是通过给宏赋值实现的。这些宏在2410addr.h中定义;具体如:。
#define rGPACON (*(volatile unsigned *)0x56000000) //Port A control
#define rGPADAT (*(volatile unsigned *)0x56000004) //Port A data
#define rGPBCON (*(volatile unsigned *)0x56000010) //Port B control
#define rGPBDAT (*(volatile unsigned *)0x56000014) //Port B data
#define rGPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B
#define rGPCCON (*(volatile unsigned *)0x56000020) //Port C control
#define rGPCDAT (*(volatile unsigned *)0x56000024) //Port C data
#define rGPCUP (*(volatile unsigned *)0x56000028) //Pull-up control C
#define rGPDCON (*(volatile unsigned *)0x56000030) //Port D control
#define rGPDDAT (*(volatile unsigned *)0x56000034) //Port D data
#define rGPDUP (*(volatile unsigned *)0x56000038) //Pull-up control D
#define rGPECON (*(volatile unsigned *)0x56000040) //Port E control
#define rGPEDAT (*(volatile unsigned *)0x56000044) //Port E data
#define rGPEUP (*(volatile unsigned *)0x56000048) //Pull-up control E
#define rGPFCON (*(volatile unsigned *)0x56000050) //Port F control
#define rGPFDAT (*(volatile unsigned *)0x56000054) //Port F data
#define rGPFUP (*(volatile unsigned *)0x56000058) //Pull-up control F
#define rGPGCON (*(volatile unsigned *)0x56000060) //Port G control
#define rGPGDAT (*(volatile unsigned *)0x56000064) //Port G data
#define rGPGUP (*(volatile unsigned *)0x56000068) //Pull-up control G
#define rGPHCON (*(volatile unsigned *)0x56000070) //Port H control
#define rGPHDAT (*(volatile unsigned *)0x56000074) //Port H data
#define rGPHUP (*(volatile unsigned *)0x56000078) //Pull-up control H
因此,配置端口G,在程序中也就是用如下语句即可:
rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000;//配置第8、第9位为输出管脚
rGPGDAT = rGPGDAT & 0xeff|0x200;//配置第8位输出为低电平,第9位输出高电平。
其他的各功能寄存器在2410addr.h中也都有相应的定义,参照该做法,即可把GPI/O管脚配置成输入输出端口,也可把管脚配置成所需的功能管脚。
五、实验步骤
1.本实验使用实验教学系统的CPU板,在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。
2.在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆以及串口间连接公/母接头串口线。
3.打开超级终端,配置串口的属性(如COM1),配置波特率为115200,校验位无,数据位为8,停止位为1,数据控制流为无;检查连接是否可靠,可靠后,接入电源线,系统上电,同时按住“空格”键,进入VIVI状态。
4.打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\IO.mcp项目文件,进行编译。
5.编译通过后,进入ADS1.2调试界面,加载实验程序\HARDWARE\ADS \IO_Data\Debug中的映象文件程序映像IO.axf。
6.在ADS调试环境下全速运行映象文件。观察CPU板左下角的LED1、LED2灯轮流的的闪烁!这是对GPIO口操作的结果。具体实现见程序。
实验六 ARM的UART实验
一、实验目的
1. 了解并熟悉UART的概念及其工作原理;
2. 掌握ARM相应的寄存器配置;
3. 能够用C编写出相应的串口程序;
二、实验内容
1. 在实验箱的CPU板上运行程序,在超级终端上回显发送的数据!
三、实验设备
1. EL-ARM-830+教学实验箱,PentiumII以上的PC机,仿真调试电缆,串口直连电缆。
2. PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,
仿真调试驱动程序。
四、UART的工作原理
通用的串行I/O 接口有许多种,最常见的一种标准是美国电子工业协会推荐的一种标准,即,RS—232C。这种标准在PC系列中大量采用9 针接插件。在ARM的处理器中,也采用了这种标准。具体的硬件机械、电气特性请参阅有关RS232串口通信的书籍。
S3C2410的UART(Universal Asynchronous Receiver and Transmitter,通用异步收发器)单元提供3个独立的异步串行I/O口,都可以运行于中断模式或DMA模式。也就是说,UART可以产生中断请求或DMA请求,以便在CPU和UART之间传递数据。它最高可支持115200bps的传输速率。S3C2410中每个UART通道包含两个用于接收和发送数据的16位FIFO队列。
S3C2410的每个UART都有波特率发生器、数据发送器、数据接收器,及控制单元。内部数据通过并行数据总线到达发送单元后,进入FIFO队列,或不进入FIFO队列,通过发送移相器TXDn引脚发送出去,送出的数据通过一个电压转换芯片将3.3V的TTL/COMS电平转换成EIA (Electronic industries Association)电平,送进PC的串口。
数据接收的过程刚好相反,外部串口信号需要先把EIA 电平经电压转换芯片把电平转换3.3V的TTL/COMS电平,然后由RXDn管脚进入接收移相器,经过转换后放到并行数据总线上,由CPU进行处理或直接送到存储器中(DMA方式下)。
在正确使用S3C2410的串口进行收发实验前,首先,要配置相关的寄存器组。见表2-8-1。表2-8-1为串口0和串口1的线性控制寄存器的配置说明,推荐使用值:0X03;
infra-Red Mode:红外、正常模式选择:
[6] 0 正常模式, 1 红外模式
表2-8-1
Parity Mode:奇偶校验模式选择:
[5:3] 0XX 无奇偶校验
100 奇校验
101 偶校验
110 强制校验/校验1
111 强制校验/校验0
Number of stop bit:停止位选择:
[2] 0 1个停止位, 1 2个停止位
Word length: 字长
[1:0] 00 5位, 01 6位,10 7位, 11 8位
表2-8-2为串口0和串口1的控制寄存器的配置说明,推荐使用值:0X245;
Clock Selection 选择使用的时钟
[10] 0: 使用PCLK, 1:使用UCLK引脚引入的时钟
Tx interrupt type 发送中断请求类型
[9] 0 =边沿, 1 =电平
Rx interrupt type 接收中断请求类型
[8] 0 =边沿, 1 =电平
Rx time out enable 允许/不允许Rx超时中断
[7] 0 =禁止 1 =使能
Rx error status interrupt enable 允许/不允许UART错误中断
[6] 0 =不允许 1 =允许
表2-8-2
Loop-back Mode: 该位为1使UART进入loop back 模式
[5] 0 = 正常模式, 1 = Loop-back 模式
Send Break Signal: 该位为1使UART发送一个暂停条件,该位在发送一个暂停信号后自动清除
[4] 0 = 正常发送, 1 = 发送断点信号
Transmit Mode: 这两位确定哪个模式可以写TX数据到UART发送保持寄存器
[3:2] 00 = 禁止
01 = 中断请求或查询模式
10 = BDMA0 请求 (仅为 UART0)
11 = BDMA1 请求 (仅为 UART1)
Receive Mode: 这两位确定哪个模式可以从UART接收缓冲寄存器读数据
00 = 禁止
01 = 中断请求或查询模式
10 = BDMA0 请求 (仅为 UART0)
11 = BDMA1 请求 (仅为 UART1)
表2-8-3为串口0和串口1的FIFO控制寄存器的配置说明,推荐使用值:0X00;
表2-8-3
Tx FIFO Trigger Level: 这两位确定发送FIFO的触发条件
[7:6] 00 =空, 01 =4字节, 10 =8字节, 11 =12字节
Rx FIFO TriggerLevel 这两位确定接收FIFO的触发条件
[5:4] 00 =空, 01 =4字节, 10 =8字节, 11 =12字节
Reserved [3] 保留
Tx FIFO Reset TX FIFO复位位,该位在FIFO复位后自动清除
[2] 0 =正常, 1= Tx FIFO 复位
Rx FIFO Reset Rx FIFO复位位,该位在FIFO复位后自动清除
[1] 0 = 正常, 1= Rx FIFO 复位
FIFO Enable FIFO模式选择
[0] 0 = 禁止FIFO 1 = FIFO 模式
表2-8-3为串口0和串口1的模式控制寄存器的配置说明,推荐使用值:0X00;
AFC(Auto Flow Control AFC是否允许
[4] 0 = 禁止 1 = 使能
Request to Send: 如果AFC允许,该位忽略
[0] 0 = 高电平(禁止 nRTS) 1 = 低电平(激活 nRTS)
表2-8-4
这是需要用程序配置的有关串口的寄存器,其他的是一些状态寄存器,如UART TX/RX状态寄存器, UART 错误状态寄存器, UART FIFO状态寄存器, UART MODEM状态寄存器, UART 接收缓冲寄存器和FIFO寄存器。
当然,关于UART 波特率设置,则有专门的分频寄存器进行设置。计算公式具体如下:
UBRDIVn = (int)(PCLK / (bps x 16) ) –1 或者
UBRDIVn = (int)(UCLK / (bps x 16) ) –1
PCLK是外围总线频率,UCLK是UCLK引脚引入的时钟频率。例如在PCLK=50.7MHz下,当波特率取115200时,
UBRDIVn = int(50700000 / 115200 / 16) – 1 = 26
根据具体的程序要求,正确配置各寄存器。
详细具体设置应用,请参见HARDWARE\ADS\实验八目录下的UART.mcp项目文件。请详细阅读代码注释。
五、实验步骤
1. 本实验使用实验教学系统的CPU板,串口。在进行本实验时,LCD电源开关、音频的左右声道开关、AD通道选择开关、触摸屏中断选择开关等均应处在关闭状态。
2.在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆。使用串口线连接
展开阅读全文