zoukankan      html  css  js  c++  java
  • 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                            //配置默认网关

        

  • 相关阅读:
    【职业规划】一位资深程序员大牛给予Java初学者的学习路线建议
    一个断点调试的小技巧
    无穷分数
    Spring事务异常回滚,捕获异常不抛出就不会回滚
    理解Servlet和Servlet容器、Web服务器等概念
    图解红黑树及Java进行红黑二叉树遍历的方法
    Majority Element
    Factorial Trailing Zeroes
    Valid Parentheses
    House Robber
  • 原文地址:https://www.cnblogs.com/qiuheng/p/5537886.html
Copyright © 2011-2022 走看看