裸机开发流程

1、编写裸机程序;2、调试裸机程序;3、生成2进制映象(编译、链接、格式转换);4、烧写/运行2进制映象。

注意:我们自己开发的程序等等需要下载到开发板的Nandflash(类似于硬盘功能),那么怎么下载进去呢?首先,2440有Nor flash,6410和210有SD卡,他们都是利用SD卡或者Nor flash里面的系统安装辅助程序,然后,将开发板与pc机之间用usb进行连接,然后将pc上的程序下载到Nandflash里面。

针对tiny6410,将SD卡通过读卡器插到PC机上,首先快速格式化SD卡,然后,使用SD-flasher,把superboot-6410.bin烧写到SD卡里面去,要经过scan扫描到SD卡,选中superboot-6410.bin之后,使用fuse烧写,就ok了,

最后,把SD卡插到开发板上面去,从SD卡启动开发板,出现下图:

选择f,格式化一下,然后选择v,因为我们裸机程序与uboot程序是类似的,选择之后,会处于一个等待状态;然后,进入PC机Linux系统,安装insmod dnw_usb.ko,

,接着把物理链路建立好,将小usb把PC机与开发板相连接好;接着执行./dnw ../led.bin 0x50000000,将led.bin文件烧写到内存的0x50000000位置,然后我们的引导安装程序会把这个下载好的映象自动安装到nandflash里面去运行。最后,把启动从nandflash启动,重启开发板,就可以执行烧写的程序了。

准备工作1:格式化nandflash,通过安装辅助程序。

准备工作2:硬件的连接。Jlink连接,串口连接,nandflash启动,电源连接。

安装工作一

1、安装gdb server:tar xvzf arm-linux-gdb-7.5.tar.gz,解压完之后进入,并执行./build-all,它的作用是首先编译gdb server这套软件,然后负责安装它,且安装到相应的位置。

可以查看build-all这个脚本的内容:

最终编译好的gdb server是位于/opt/目录下面,

这就是我们编译好的gdb server软件

2、将gdb server加入到环境变量PATH中,(编译好的GDB SERVER在目录/opt/下)找到它的路径which eclipse,然后进入cd /opt/arm-linux-gdb/bin/,pwd查看当前路径,并复制下来。

3、进入vim /root/.bashrc,加入如下:export PATH = $PATH:/opt/arm-linux-gdb/bin/;最后运行arm-linux-gdb便可识别到。

安装工作二

安装JLINK软件

1、解压tar xvzf Jlink-linux-v434a.tgz->进入该文件夹,复制一些库文件cp -d libjlinkarm.so* /usr/lib -f;再复制cp 45-jlink.rules /etc/udev/rules.d/。

2、将jtag连接好板子,执行./jinkGDBSERVER看能否感知到板子。

安装工作三

安装eclipse(它可以编译以及在线调试程序)

1、要把自带的eclipse注销掉,因为它的版本不对,先通过which eclipse找到路径,进入cd /usr/bin/;备份mv eclipse eclipse-back,进入ARM-TOOLS里面进行解压eclipse,tar xvzf eclipse...->进入eclipse,并执行./eclipse。

2、workspace:/home/S3-ARM/Part1/lesson1/ec_project_1。(注意第一次启动都会出现错误不用管,可以再次启动。)

3、配置eclipse:安装插件,help->install new software->http://opensource.zylin.com/zylincdt->...->finish。

4、new ->make file project with existing code->a、project name:led;b、existing code position:lesson2。

5、现在对程序进行编译:project->(去掉build auto ..)->build all(注意实际上eclipse是调用的makefile来对工程进行的编译)->选择debug->debug configuration->双击 zylin embeded debug(Native)->led default->c/c++->Brouse->选择..elf文件->debuger->arm-linux-gdb->去掉stop选项->command->initalize->gedit打开对应的初始化文件,并拷贝进去。

6、启动调试:首先启动JLINK,然后利用eclipse里面配置的调试工具进行调试。

linux下集成开发环境之ECLIPSE--在线调试、编译程序的更多相关文章

  1. 【期外】(三)Linux下集成开发环境Geany

    今天小编发现了一个很好的软件,它的名字就叫做Geany. 这是Linux系统中的开发工具,相当的好用. Linux与windows最大的不同正是不是集成开发环境,所以写起代码来总是用文档写好后,然后再 ...

  2. linux下c++开发环境安装(eclipse+cdt)

    方法一: 此外,众所周知,Eclipse是Java程序,因此很容易就实现了跨平台,也是众所周知,Java的大型程序非常吃内存,即使有512MB内存, 仍然感觉Eclipse的启动速度很慢.个人认为1G ...

  3. deepin linux 下C开发环境配置

    # deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...

  4. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  5. mac 配置Python集成开发环境(Eclipse +Python+Pydev)

    1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使 ...

  6. Linux下golang开发环境搭建

    对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...

  7. Linux下Java开发环境搭建—CentOS下Eclipse的安装教程

    据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...

  8. 【Qt开发】Linux下Qt开发环境的安装与集成

    近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 ...

  9. Linux下vim 开发环境配置及配色(Ruby)

    终端设置 字体:Monospace 10 粗体 内置方案M:黑底白字 内置方案S:Linux控制台 安装vundle git clone https://github.com/VundleVim/Vu ...

随机推荐

  1. centos7配置yum源

    https://www.cnblogs.com/renpingsheng/p/7845096.html

  2. 40. Linux下7-zip解压到当前目录的命令

    7z x test.zip 解压到当前目录下,但保留原来的目录结构 7z e test.zip 解压到当前目录下,不保留原来的目录结构

  3. 普通web项目转maven项目

    先要有pom.xml文件 1.首先你要确定你的开发工具是否已经安装上maven: 2.安装配置好后将你的项目导入到开发工具上: 3.右键点击java项目,选择maven选项,在选择Enable Dep ...

  4. sql 数据库修复

    数据库修复 exec sp_dboption 'dbname1','single user',‘true’ dbcc checkdb('dbname1') dbcc checkdb('dbname1' ...

  5. WDA-BOPF业务对象处理框架

    SAP中的BOPF(Business Object Processing Framework) 正文 希望简化你的业务应用开发过程?业务对象处理框架(Business Object Processin ...

  6. 控制html元素的隐藏问题

    控制元素隐藏的方式,有display:none.visibility:hidden以及不透明度设置. 一.display:none 被隐藏的元素,在页面中不占位,空出的位置会被相邻的元素占用. < ...

  7. JAVA中request.getParameterMap()用法笔记

    一. 根据Java规范:request.getParameterMap()返回的是一个Map类型的值,该返回值记录着前端(如jsp页面)所提交请求中的请求参数和请求参数值的映射关系.这个返回值有个特别 ...

  8. Haskell语言学习笔记(36)Data.List.Zipper

    ListZipper 模块 $ cabal install ListZipper Installed ListZipper-1.2.0.2 Prelude> :m +Data.List.Zipp ...

  9. while and for 2

    public class TestWhileAndFor2 { /** * 九九乘法表 * 1!+2!+3!+....+10!=? * */ public static void main(Strin ...

  10. js中定时器2

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...