许久之前在某宝入手一块二手mini2440开发板,因为忙毕业设计也没空玩玩,这几天在等PCB印刷出来的时间拿出来学习一下。

第一步配置好开发环境:

交叉编译器,使用的是友善之臂光盘里的arm-linux-gcc-4.4.3.tar.bz,VMware 装的是ubuntu 1404,但是一直不成功,好像是1404版本有点bug,也尝试过arm-2009q3, 后来索性重新装了ubuntu 1604,后来交叉编译器成功装上,不得不说友善之臂的说明手册里的好多东西过时了,里面用的还是fedoral 9。

接下来是将主机--虚拟机Linux--Mini2440开发板互相ping通,采用https://www.cnblogs.com/rwzhou/p/3647957.html 这篇博文的方法,其中MINI2440开发板的IP本身已经配置成192.168.1.230,只要修改主机的IP和虚拟机Ubuntu的IP就行了,因为笔记本就一个网口,所以笔记本使用WIFI,修改虚拟机使用的网卡的IP,虚拟机IP的设置博文也都说明了,不做赘述。

第二步编写LED驱动:

好久没写过驱动了,找个简单的练练手,先抄嵌入式Linux完全应用手册里的LED驱动,用的是MINI2440 DVD里的内核 2.6.32.2-FriendlyARM,然后就出问题了,可能因为内核版本不一样,首先出现的问题是所有头文件都找不到,怀疑是环境变量没有设置,设置好后还有有几个头文件not found,于是我将内核源码放到sourceinsight中新建个工程,但是LED驱动文件里一些函数所出现的头文件并不在驱动代码里写的头文件里,遂修改头文件,并加上新的环境变量,头文件就没报错,但是报其他错,阅读mini2440-2.6.32.2源码里跟GPIO相关的文件修改即可。然后回到虚拟机里源码顶层目录 make modules。

第三步将驱动文件放入开发板中,根据MINI2440手册,我并没有使用NFS,而是通过FTP方式将驱动方法到开发板/home/plg目录下,insmod s3c24xx_leds.ko,又给我报错

[root@FriendlyARM /]# insmod /home/plg/s3c24xx_leds.ko
s3c24xx_leds: Unknown symbol __aeabi_unwind_cpp_pr0
s3c24xx_leds: Unknown symbol __aeabi_unwind_cpp_pr1
insmod: cannot insert '/home/plg/s3c24xx_leds.ko': unknown symbol in module or invalid parameter

经查后得知原来开发板内核镜像与编译模块镜像版本不一样所致,但是mini2440光盘给的镜像的内核版本是2.6.32.2-FriendlyARM

[root@FriendlyARM /]# uname -r
2.6.32.2-FriendlyARM

但是编译的模块以及内核版本却是2.6.32.2,所以需要修改。

make clean
cp config_mini2440_p35 .config
make menuconfig
在配置里添加-FriendlyARM
然后回到顶层目录 make zImage, make modules

然后使用Minitools将内核镜像烧进开发板中,通过ftp将驱动传输到开发板中insmod,成功。

友善之臂mini2440初入门学习的一点历程相关推荐

  1. 友善之臂 MINI2440开发板与SecureCRT之间的通信

    友善之臂 MINI2440开发板与SecureCRT之间的通信配置 (SecureCRT 与 win10 系统下的RS232驱动下载链接将在文章末尾给出) 初衷 emmm 我在用MINI2440开发板 ...

  2. 学python有哪些用途-初入门学习python有哪些用途?

    python是人工智能的重要编程语言,无论发展前景还是就业方向,不可限量.更重要的是python还是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.那么初入门学习python有哪些用途呢 ...

  3. 友善之臂mini2440光盘资料下载FriendlyARM-2440-DVD.7z

    这是我目前找到最全面的友善之臂mini2440的光盘资料了,几乎支持mini2440的各种lcd屏幕.另外,Windows平台工具文件夹下还有版本比较新的MiniTools,这是一个非常好用的软件! ...

  4. 友善之臂 mini2440 linux led 驱动代码,mini2440 led驱动程序

    这个led驱动程序只在linux-2.6.32.2内核中测试通过,至于其他的内核可能头文件有一些改动就不能 编译成功了.下面给出源程序: 这是友善之臂提供的源码: #include #include ...

  5. 友善之臂 mini2440 linux led 驱动代码,友善之臂mini2440的LEDdriver驱动分析及测试程序...

    一,前言:因为友善尚未公布mini2440开发板上的测试程序,所以我自己就写了一个.还好不是太难. (WINCE6.0+mini2440) 二,首先来分析一下LEDDriver. 2.1,入口函数:( ...

  6. pytorch初入门学习记录

    PyTorch第一步 1.Tensor from __future__ import print_function import torch as t # 构建 5x3 矩阵,只是分配了空间,未初始化 ...

  7. ros 机械臂复位_ROS入门学习之八机器人综合应用

    1.ROS机器人实例介绍(PR2,Turtlebot,HRMRP,Kungfu Arm) 1).PR2:造就了ROS的机器人平台,完全基于ROS开发,功能丰富.强大 2).Turtlebot:ROS社 ...

  8. 友善之臂 mini2440 linux led 驱动代码,[转]mini2440的LEDS驱动程序和测试程序详解

    转自:http://blog.csdn.net/garby2004/article/details/4603996 一 leds的驱动程序 位置:linux 2.6.29/drivers/char/m ...

  9. 使用友善之臂Mini2440开发板使用网口下载程序不成功血与泪的经验教训

    一开始根据视频教程在Fedora下查看IP进行下载的时候,发现通过u-boot下载总是显示TTTT,也就是网络连接不通,但是在window下面又是可以通过Samba服务器访问Fedora文件夹里面的内 ...

最新文章

  1. Asp.net core 学习笔记 ( Web Api )
  2. linux mint系统分区,Win7删除了linuxmint的系统分区如何恢复
  3. php 状态模式,PHP设计模式之状态模式
  4. 算法题:找出一个数组中相加值最大的连续序列元素
  5. Django开发social-auth-app-django 第三方登陆
  6. Linux内核同步机制--自旋锁【转】
  7. 我的MYSQL学习心得(九) 索引
  8. MariaDB学习记录
  9. 免费杀软中的王者:德国小红伞评测
  10. 阿里巴巴java方向笔试题 带详细答案
  11. Web3在新加坡,叩开世界的大门
  12. hadoop学习之----------IntelliJ IDEA上实现MapReduce中最简单的单词统计的程序(本地 和 hadoop 两种实现方式)...
  13. 卡尔曼滤波器(2) -- α−β−γ滤波器(例1)
  14. 生成式对抗网络(GAN)原理推导与网络构建思路
  15. AD19 编译报错:has only one pin 和 floating net label
  16. 深度linux触摸板失灵,解决笔记本安装deepin OS触摸板、WIFI无法使用问题
  17. 单身的我写了一个七夕表白程序
  18. 【janus 】openresty +janus
  19. flex中换行符的使用
  20. 分布式文件系统及其部署

热门文章

  1. html文件怎么转换成sldprt,sldprt文件怎么打开
  2. 李子的猜数游戏!!!!!!!!!!!!!!!!(δ版)
  3. dell笔记本怎么开启虚拟化_dell戴尔电脑开启VT虚拟化方法教程
  4. 计算机术语native版本,HiNative电脑版
  5. 手动安装m4, autoconf, automake, libtool
  6. java calendar 2月份_Calendar.MONTH 2月29号加一个月 问题
  7. matlab 生成mat文件
  8. JDBC 事务和 JTA 事务的区别
  9. OVS:网络环路 广播风暴解决方案
  10. 深度学习—— 人工智能概述