裸机开发流程

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. 好久没玩laravel了,5.6玩下(二)

    做个项目的增删改查 第一步  把数据库的表结构建好,生成迁移 1 怎么建,当然是用php artisan命令了 使用 Artisan 命令 make:migration 来创建一个新的迁移: php ...

  2. 3.circle (圆)

    1.HTML代码: <div class="circleOne"></div> <br/> <div class="circle ...

  3. smokeping配置方法

    smokeping配置加Nginx https://lala.im/2821.html  (不完整)

  4. leetcode54

    class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) ...

  5. mongodb基础学习14-mapReduce操作

    mapReduce随着大数据的兴起而流行,相当于传统数据库的group操作,强项在于分布式计算. map:将一组记录的相关信息映射到一个数组 reduce:对map得到的数组数据进行处理得到一个结果 ...

  6. @Repository , @Service , @Controller 和 @Component

    用Spring MVC时@Controller注解的类将变成一个Spring MVC的控制器. 不用Spring MVC的情况下, 这四个注解没有区别. 根据注解的语义, 注解在类上面可以提高代码的可 ...

  7. protocol_link

    蔡燧林:1992—2000年教育部考试中心研究生数学命题组组长现在退休养老.要想办法弄到他编的书(ps:别问怎么弄到,我和我同学都能弄到,你怎么会不能弄到呢)李林:目前在导航独家授课,他能屡屡命中考研 ...

  8. Java8Stream

    判断一个操作是惰性求值还是及早求值很简单:只需看它的返回值.如果返回值是 Stream,那么是惰性求值.其实可以这么理解,如果调用惰性求值方法,Stream 只是记录下了这个惰性求值方法的过程,并没有 ...

  9. LINUX 修复relocation error: /lib/tls/libc.so.6

    错误信息: relocation error: /lib/tls/libc.so.6: symbol _dl_tls_get_addr_soft, version GLIBC_PRIVATE not ...

  10. keras—多层感知器识别手写数字算法程序

    #coding=utf-8 #1.数据预处理 import numpy as np #导入模块,numpy是扩展链接库 import pandas as pd import tensorflow im ...