linux驱动系列之调试环境搭建一
2014年刚开始学习linux时,搭建环境花了很多时间。当时最熟悉的是单片机如Mag16和stm32,依据以往学习单片机的经验肯定要用下载器下载程序,但是我找了很久没有比较好的IDE,不像Mag16有AVR Studio、stm32有Keil集成开发环境可以使用。当时查找资料说ADS可以用,但是流程很是复杂,其实后来发现eclipse也是可以使用的,但是那时只有一个jlink,而且是在虚拟机VMware里面装了一个ubuntu系统,然后在虚拟的这个系统里面安装交叉编译环境,编译uboot、内核,在windows环境下用板子里面的uboot把内核加载进nandflash,后来学习驱动需要在linux环境编译内核和驱动然后把驱动动态加载进内核。上面叙述的就是刚开始学习linux时方法,我记得遇到最多的问题就是网络问题,windows《==》虚拟机linux《==》开发板linux系统如何相互ping然后能够实现:(1)windows《==》虚拟机linux之间传输文件,一般烧写普通小程序时(不是驱动程序)都是在虚拟机里面编译好然后将bin文件通过网络从虚拟机中linux里面拷贝到windows环境然后用dnw下载进arm目标板(后来win7无法安装dnw的驱动软件)(2)编写驱动程序时动态加载时在虚拟机linux里面编译好然后通过mount挂载到编译好的文件,然后将.ko文件拷贝到arm目标板,这个过程必须要虚拟机和开发板进行ping通(3)后来开始调试内核函数越来越发现以前的开发方式实在是繁琐,而且初学者刚学linux好多命令都不是很懂,更不要说下载到哪个地址是nor启动还是nand启动。中间有个项目耽搁了半年时间,项目完了又遇到写小论文,现在又重新鼓捣linux内核和驱动,我现在直接将linux安装在电脑上,然后在linux环境下进行开发。
具体配置:
ubuntu 14.04+openjtag
直接将电脑安装linux操作系统,使用openjtag这个开源的硬件和配套的软件开发起来效率十分的高,而且不用再虚拟机和windows间不断地切换,也不用考虑电脑的配置,一般的低配台式机都能满足你调试程序要求。
arm开发板配置网络ip:
ifconfig eth0 172.19.72.89 netmask 255.255.255.0 up //配置IP地址
ifconfig eth0 up | down //激活,关闭设备eth0
route add default gw 172.19.72.1 //配置默认网关
linux驱动系列之调试环境搭建一的更多相关文章
- Windows下Lua+Redis 断点调试环境搭建==Linux下类似
Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...
- 一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文分析 Vault 7 中泄露的 RouterOs 漏洞.漏洞影 ...
- 【转】RHadoop实践系列之一:Hadoop环境搭建
RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...
- Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建
1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...
- arm64 调试环境搭建及 ROP 实战
前言 比赛的一个 arm 64 位的 pwn 题,通过这个题实践了 arm 64 下的 rop 以及调试环境搭建的方式. 题目文件 https://gitee.com/hac425/blog_data ...
- eos源码分析和应用(一)调试环境搭建
转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...
- [内核编程] Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- i.MX RT600之DSP调试环境搭建篇
恩智浦的i.MX RT600是跨界处理器产品,同样也是i.MX RTxxx系列的开山之作.不同于i.MX RT1xxx系列单片机,i.MX RT600 采用了双核架构,将新一代Cortex-M33内核 ...
随机推荐
- hdu 4607 树的直径
思路:利用dfs遍历整棵树,找出最长子树与次长子树,两者的和最大就是直径. 若k值小于直径就输出k-1,否则输出(k-d-1)*2+d; #include<iostream> #inclu ...
- IOS微信中看文章跳转页面后点击返回无效
经过查找原因发现,下面两种链接,链接1返回不了,链接2可以返回. 链接1:http://mp.weixin.qq.com/s?__biz=MzA5NDY5MzcyNA==&mid=265089 ...
- 【转】uvm 与 system verilog的理解
http://www.cnblogs.com/loves6036/p/5779691.html 数字芯片和FPGA的验证.主要是其中的功能仿真和时序仿真. 验证中通常要搭建一个完整的测试平台和写所需要 ...
- ActiveMQ(5.10.0) - Building a custom security plug-in
If none of any built-in security mechanisms works for you, you can always build your own. Though the ...
- Linux 命令 - cp: 拷贝文件和目录
命令格式 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY ...
- linux中sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- 如何检查mysql中建立的索引是否生效的检测方法及相关参数说明
所使用的mysql函数explain语法:explain < table_name >例如: explain select * from t3 where id=3952602;expla ...
- (转)实战Memcached缓存系统(1)Memcached基础及示例程序
1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备. (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数 ...
- 用JS实现回文数的精准辨别!!!
笔者最近在一边看<JS高级程序设计3>一边在FCC上找题目练习啊.那叫一个爽.这不,刚刚用生命在课堂,寝室,实验室,图书馆等各种场所将第五章"引用类型"搞定,FCC便知 ...
- c/c++读取文件
#include <iostream> #include <string> #include <fstream> int main() { std::ifstrea ...