郭天祥ARM教程笔记

2020-06-17 11:34

第四讲

Noflash烧写的是uboot,

H-JTAG是JTAG代理软件,用于烧写程序 选择NoFlash启动,Serial-COM1界面显示

H-JTAG显示的是CPU型号,Star-H flash,Load找到配置文件,点击Check,选择要烧写的文件,点击program(先擦后写) DNW软件向NandFlash烧写

第五讲 Linux

命名规则:主版本号.从版本号.修订版本号,如2.6.31 如果版本号为偶数,此内核是稳定版,基数,开发版 桌面运行环境:KDE基于QT程序库 GNOME采用GTK图形库开发(RedHat默认) 不要从Windows加载光盘从而安装Linux,这样中途报错等问题 鼠标移出Alt+Ctrl 全屏Alt+Ctrl+Enter

Linux的安装 安装开始: 语言:简体中文 安装类型:定制

磁盘分区设置:自动分区,警告:是(删除) 自动分区:是(警告) 硬盘类型:IDE 防火墙:无防火墙

组件:KDE、编辑器、服务器(全部)、开发(全部)、系统(全部) 安装结束: 引导盘:否

管理员登陆:账户root 系统工具-终端

字体放大Ctrl+“+”/“-”

VM工具

菜单VM-VM Tools Install,进入CD光驱 先复制

“./文件名”进行安装

不要选择分辨率1280*720(即12以上),图形界面也问题

网络服务器smb

系统配置-服务器配置-smb服务器

增加-浏览-下拉列表“/”-双击(最终在目录显示的是“/home”)“home/”-确定 基本权限“读和写”

访问-“允许所有用户访问”

首选项-“smb用户”-添加用户-用户名密码-确定

ifconfig eth0:查看Linux地址

ifconfig eth0 IP地址:修改Linux的IP地址 修改Linux的IP地址在Windows同一个网段 重启smb服务器:servicesmb restart

Windows下运行\\\\Linux的IP地址

NFS服务器

添加-目录选择所有目录“/”-主机(可以为IP地址)“*”(所有主机)-“读和写” 用户访问-把远程根用户当做本地根用户-确定

开机运行NFS服务器 终端setup-System service 选择NFS服务

重启nfs服务器

终端下命令:servicenfs restart

第七讲交叉编译

四个阶段

1. 预处理,不生成文件 【预处理器cpp】

2. 将预处理后的文件转换为汇编语言,生成.s的文件 【编译器egcs】

3. 由汇编变为目标代码(机器代码)生成.0的文件 【汇编器as】

4. 连接目标代码,生成可执行程序 【链接器ld】

gcc常用编译选项 -c 只生成object

-S 只把文件编译成汇编代码

-E 只运行C预编译器cpp,不生成文件 -O 生成指定的输出文件

终端下输入clear,清屏

系统库文件 /lib /usr/lib

-g生成可悲gdb使用的标准调试信息

-IDIR指定额外的头文件搜索路径DIR -LDIR指定额外的库函数搜索路径DIR

-ILIBRARY指定链接时需要的其他函数库“LIBRARY”

-w 不生成任何警告信息

-Wall生成所有级别的警告信息

-shared生成支持动态共享库的执行文件

-static不支持动态共享库,把函数库内容静态链接到可执行程序中

-O0 不进行代码优化处理

-O1进行一般优化,减少大小和时间

-O2 进一步优化,一般在内核编译时使用 -O3较-O2进一步优化

交叉编译:在一个平台上生成另外一个平台上的可执行代码。 平台:体系结构,操作系统 体系结构:x86

交叉编译工具链

交叉编译:在Linux下编译arm可执行文件 终端:vi /etc/profile

vi:export PATH=/usr/local/arm/4.3.2/bin:$PATH 终端:source /etc/profile(生效) 终端:arm-linux-gccmain.c–o main 其中arm-linux-gcc为文件名

解压-c? 移植

一般软件包有make文件,执行make可进行编译 src是软件的源码目录

configure是src目录里的,可生成makefile文件

修改makefile文件,修改cc和cpp的编译选项,换成arm-linux-gcc 还需修改compat.h

执行makefile,生成boa文件

第八讲

串口终端SecureCRT:显示Uboot(bootLoader) Windows下通过串口的终端 Notepad++ 函数列表插件

ADS(ARM Developer Suite)

是ARM处理器下最主要的开发工具

包括CodeWarrior IDE和AXD Debugger mcp后缀的文件是工程文件 并口jtag可用jlink

并口jtag需要代理软件hjtag,包括 h-jtag server调试软件 h-flasher烧写软件 高速h-jtagusb仿真器

wiggler只是起了一个电平转换,jtag逻辑是pc机软件产生的 结构:

keil等调试软件->h-jtag server->jtag调试板->arm目标开发板 arm jtag调试原理.pdf 未找到目标芯片:

setting->LPT Port Setting->并口地址(在设备管理的“资源”) setting->USB Jtag Setting->… Detect Target

H-Flasher

用以烧Flash,支持NoFlash,现支持NandFlash

Flash Selection选择类型(EON-EN29LV160AB 2M的Noflash) configuration位宽,起始地址,

InitSerpts设置配置的寄存器,手动和导入(导入:Load) programming:check检查是否找到Flash,erase擦除 Type选择最后一项plan Binary Format Src File选择要烧写的镜像 program开始烧写 完成后,重启开发板

DNW下载内核镜像工具 configuration-option-…、设置下载的首地址 开发板刚启动时在SecureCRT按下空格,进入下载模式,否则进入内核 安装驱动 选择需要下载的内容 下载bootloader 下载Linux内核镜像 下载yaffs2文件系统 下载cramfs文件系统 下载到SDRAM中运行 格式化Nand Flash 启动Linux系统 设置启动参数 重启u-boot 退出目录

第九讲

时钟电源管理

正常模式:锁相环工作

慢时钟模式:CPU直接使用原始时钟或分频,功耗低,锁相环不工作降低功耗 空闲模式:cpu不工作,中断唤醒 断电模式:时钟模块断电

第十讲

Nand容量大,写速度快,芯片面积小、成本低(坏块,未交换) NOR传输速率高,写入和擦除速度低,非易失

第十一讲

ADS工具使用:

ARMDeveloper Suite v1.2->CodeWarrior for ARM Developer Suite File->new

project->ARM Executable Image->Project name->Location 新添文件

File->Text File->File name->勾选Add to Proje->勾选Debugel 将文件分组

project->Create Group

DebugRel Settings->Target Settings->Post-linker->ARM fromELF(生成可执行程序) ARM Assembler->ARM920T(Language Setting所有语言设置) ARM Linker->Output->RQ base地址设置0x30000000 Options->Image entry pont->0x30000000

添加的文件中含有2440init.s文件,其为汇编初始化文件,生成2440Initt.o的文件 Layout->Object/Symbol->2440init.o

在2400Init文件中,含有IMPORT Main的入口函数,包含AREA Init,C,即 section->输入Init

ARM fromELF目录中可设置out…,以修改输入文件名

函数跳转:ctrl+单击函数名

1、make按钮是编译 2、

3、debug可调用axd工具

4、在options->configure target->add->H-JTAG的dll->configure

运行配置脚本

options->Configure Interface->Session file options->Run Confuration…->browse

jtag是并口,jlink是usb,需要驱动 SEGGER是jlink安装文件夹,jlinkRDI.dll


郭天祥ARM教程笔记.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:拒绝有偿家教心得体会

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: