本文转载自:https://blog.csdn.net/newjay03/article/details/72835758

本来打算完全在Ubuntu下开发的,但是水平有限,没有在Ubuntu下找到合适的阅读大型代码的工具,所以不得不在windows搭建开发环境。
一、主要内容:
1、在windows10下搭建arm(s3c2440)开发环境
在win10下使用vmware workstation12 pro建立Ubuntu主机,而后在Ubuntu中配置arm交叉编译链。在win10下编写代码,在Ubuntu中编译。
2、在windows10下搭建arm(s3c2440)调试环境
eclipse+openocd(GUI版)+gdb
二、软硬件环境
1、硬件环境
i7 6700hq+8gRAM+韦东山jz2440v3开发板+easyopenjtag
2、软件环境
操作系统:win10家庭中文版
开发调试软件:eclipse(eclipse-cpp-luna-SR2-win32-x86_64)+eclipse 插件 Zylin Embedded CDT+GDB+sourceinsight3.5+VMware workstation12 pro+openocd(GUI)
超级终端及串口工具:SecureCRT
FTP:CuteFTP9.0
三、在windows10下搭建arm(s3c2440)开发环境
1、硬件连接及驱动安装。
在这里就不啰嗦了,开发板手册上写的很清楚,强烈建议在搭建环境之前阅读开发板手册,可以少走好多弯路,不折腾。
2、在win10下安装虚拟机VMware并建立Ubuntu主机,在Ubuntu中配置arm交叉编译链。
为了方便起见,直接使用jz2440v3开发板光盘中的Ubuntu9.10虚拟机镜像,里面已经配置好了交叉编译环境,各种软件服务都安装配置好了,推荐初学者使用,不折腾,毕竟初学者是先入门嘛。当时自己折腾了好久,发现还是这个方便。如果正式开发还是要根据实际情况,自己配置交叉工具链。
3、在win10下搭建自己喜欢的代码编辑环境,自己喜欢就行,只是编辑,这里也不赘述。
4、安装终端软件,目的是登陆并操作虚拟机中的Ubuntu。这里使用的是SecureCRT。
5、安装FTP软件,用于向Ubuntu上传下载源代码等文件。
我们是在win10下阅读编写代码,然后使用FTP工具上传到Ubuntu,在Ubuntu中编译,然后再下载到win10中调试,烧写或下载到开发板。
6、使用jz2440开发板光盘中提供的oflash软件烧写二进制代码到开发板。
具体方法可以参考开发板手册。
至此,已经可以编写编译烧写嵌入式程序,但是如果程序出了问题,还是无法进行高效调试的,接下来介绍调试环境的搭建。
四、在windows10下搭建arm(s3c2440)调试环境
自己在看韦东山第一期视频时,发现视频中并没有讲解调试环境的搭建,但是写代码肯定会出错,出错就要调试,然后定位排除bug,而且开发中大部分时间都是在调试定位排除bug。而且到后面学习u-boot时如果能单步跟踪u-boot的运行,对理解掌握其工作原理还是非常有帮助的。然后自己就通过搜索和自己动手摸索,成功搭建了裸板的调试环境,注意这里是裸板调试环境,也就是开发板中还没有运行操作系统时,我发现网上裸板程序的相关内容,特别是调试环境搭建的介绍特别少,好多人都是使用“点灯大法”,非常不方便,下面我简单介绍下如何搭建以eclipse为前端的gdb调试环境。
1、安装gcc-arm-none-eabi-5_4-2016q3-20160926-win32
此软件是已经编译好的windows下的arm交叉工具链,在这里只使用其中的调试工具arm-none-eabi-gdb.exe.
2、安装eclipse,这里eclipse只是作为gdb的前端工具,只是为了方便,如果习惯命令行下操作的话,可以不用安装。
(1)千万记住不要安装最新版的eclipse,因为无法安装Zylin Embedded CDT插件,我使用的是eclipse-cpp-luna-SR2-win32-x86_64。之前要安装java环境并配置环境变量,这里就不讲了,自己搜索。
(2)安装Zylin Embedded CDT插件。此插件用于方便调试。
在 eclipse 的 Help --> Install New Software 中添加地址 http://opensource.zylin.com/zylincdt/ 就可以了。按照提示安装之后debug --> debug configuration 中可以看到 zylin 了。
3、在eclipse中建立工程并导入源代码。
这里导入源代码只是为了调试,不进行编译。
打开文件:file---->new--->c project
填上project name,下面的project type选择Makefile project---> empty project,Toolchains选择other toolchain,点finish。
然后在左侧project explorer中,选中刚才建的项目,右键--->import 选择file system,下一步,然后在from directory中选中自己代码的文件夹。选中代码,而后finish。
4、配置eclipse调试器
点击eclipse主界面上甲虫图标右侧的小倒三角,点击debug configurations,可以在左侧看到之前安装的zylin插件,双击zylin embedded debug(native),在右侧会生成一个新的调试环境,填入name,然后在main标签中c/c++application中选择在Ubuntu编译生成的elf文件。点击debugger标签,选择之前安装的arm-none-eabi-gdb.exe,也可以添加自己的GDB command file,就是一个初始化脚本,这个要根据不同的开发板进行相应修改。点击commands标签,可以写入一些简单的初始化命令,此时不要点击debug。
5、安装OpenOCD with GUI setup
使用的是光盘中提供的软件,直接安装即可,此软件自带了s3c2440的配置文件,傻瓜式的,选择manual,interface选择openjtag,target 选择samsung_s3c2440;openocd标签中设置workdir,然后点击connect,右侧会显示一些log信息,如果不报错,就说明成功连接了开发板和GDB。
6、此时点击debug即可开启debug之旅了。

win10下搭建jz2440v3(arm s3c2440)开发及gdb调试环境【转】的更多相关文章

  1. win10下搭建vue开发环境

    特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安装步骤如下: 一.安装node.js 说明:安装node.js的windows版本后 ...

  2. 1.WIN10下搭建vue开发环境

    WIN10下搭建vue开发环境 详细的安装步骤如下: 一.安装node.js 说明:安装node.js的windows版本后,会自动安装好node以及包管理工具npm,我们后续的安装将依赖npm工具. ...

  3. win10下搭建深度学习--总结【学习笔记】

    win10 下搭建深度学习开发环境总结: 1.本人环境如下:win10,GTX1050TI.i7,anaconda3,vs2015,cuda9.0,cudnn7.1.4,tensorflow-gpu= ...

  4. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  5. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  6. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...

  7. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

  8. 在Win10下搭建web服务器,使用本机IP不能访问,但是使用localhos或127.0.0.1可以正常访问的解决办法

    最近在在Win10下搭建web服务器,发现通过windows自带的浏览器win10 edge浏览器使用本机IP不能放问,但是使用localhos或127.0.0.1可以正常访问, 后来无意发现,使用w ...

  9. Ruby on Rails入门——macOS 下搭建Ruby Rails Web开发环境

    这里只介绍具体的过程及遇到的问题和解决方案,有关概念性的知识请参考另一篇:Ruby Rails入门--windows下搭建Ruby Rails Web开发环境 macOS (我的版本是:10.12.3 ...

随机推荐

  1. 160316、实时处理oracle数据库中表的数据变化

    http://blog.csdn.net/as339000204/article/details/45390727     近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是 ...

  2. 统计学习方法笔记 -- KNN

    K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是 ...

  3. 常见到的runtime exception

    ClassCastException    类转换异常 IllegalArgumentException   非法参数异常 IndexOutOfBoundsException   数组越界异常 Nul ...

  4. 监控之snmpd 服务

    监控离不开数据采集,经常使用的Mrtg ,Cacti,Zabbix,等等监控软件都是通过snmp 协议进行数据采集的! 1 什么是snmp 协议? 简单网络管理协议(SNMP,Simple Netwo ...

  5. MySql库、表权限管理

    #授权表user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段tables_priv #该表放行 ...

  6. SQL Server 排名函数

    个函数进行的解释. 以下是对这4个函数的解释: RANK() 返回结果集的分区内每行的排名.行的排名是相关行之前的排名数加一. 假设两个或多个行与一个排名关联,则每一个关联行将得到同样的排名. 比如, ...

  7. Flask系列(十一)整合Flask中的目录结构(sqlalchemy-utils)

    一.SQLAlchemy-Utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法 import datetime from ...

  8. C++实现不能继承的类

    实现一个不能继承的类,这在Java等语言中是很好实现的,被final关键字修饰的类不能被继承. C++中没有类似的关键字,须自己实现.一般有如下两种方法: 1.设置构造方法与析构方法为私有 class ...

  9. Multiple encodings set for module chunk explatform "GBK" will be used by compiler

    项目用idea启动的时候,突然报了个这个 Multiple encodings set for module explatform "GBK" will be used by co ...

  10. PHPCMS 小节

    当前栏目id:                       {$catid}当前栏目名:                       {$CATEGORYS[$catid][catname]}当前栏目 ...