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内核 ...
随机推荐
- 【三分搜索算法】UVa 10385 - Duathlon
题目链接 题意:“铁人三项”比赛中,需要选手在t km的路程里进行马拉松和骑自行车项目.现有n名选手,每位选手具有不同的跑步速度和骑车速度.其中第n位选手贿赂了裁判员,裁判员保证第n名选手一定会取得冠 ...
- Android 内存分析工具 MAT(Memory Analyzer Tool)
如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...
- BZOJ 1441
1441: Min Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 467 Solved: 312[Submit][Status][Discuss] De ...
- 关于delegate, category和subclass
因为自己在学习这三个概念的时候,实在是走了很多的弯路,而且当我意识到这些概念在cocoa中很重要时,我便更糊涂了…或许从C++或者Java转过来的高手一看就明白,所以高手您随便拍砖,指正我的错误:新手 ...
- [转] Portable Trac 简单介绍 - 兼谈为什么不选择 Redmine
Portable Trac 简单介绍 - 兼谈为什么不选择 Redmine Trac是一个轻量级的软件项目管理环境,如果在工作中涉及一个开发团队的管理并且关心项目管理工具的话,相信都在 Trac. ...
- OC9_字符串的内存管理
// // main.m // OC9_字符串的内存管理 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangx ...
- 【译】 Node.js v0.12的新特性 -- Cluster模式采用Round-Robin负载均衡
原文:https://strongloop.com/strongblog/whats-new-in-node-js-v0-12-cluster-round-robin-load-balancing 本 ...
- CSS 初体验之Line-height
p{ line-height:20px; } line-height : normal | length 参数: normal : 默认行高length : 百分比数字 | 由浮点数字和单位标识符组成 ...
- strcpy、strncpy、strlcpy的区别
- 考虑virtual函数以外的其它选择
详情见<Effective C++>item35 1.使用non-virtual interface(NVI)手法,这是Template Method设计模式的一种特殊形式. 它以publ ...