当前位置: 首页 > news >正文

广州珠吉网站建设优秀企业网站模板

广州珠吉网站建设,优秀企业网站模板,江西建设单位网站,wordpress 如何生成 htlm文章目录前言一、搭建nfs服务二、ARM板的硬件连接三、putty连接四、挂载共享文件夹五、烧写驱动程序六、驱动程序示例前言 本文操作环境:Ubuntu14.04、GEC6818 这里为似懂非懂的朋友简单叙述该文章的具体操作由来,我们的主要目的是将写好的驱动程序烧进…

文章目录

  • 前言
  • 一、搭建nfs服务
  • 二、ARM板的硬件连接
  • 三、putty连接
  • 四、挂载共享文件夹
  • 五、烧写驱动程序
  • 六、驱动程序示例


前言

本文操作环境:Ubuntu14.04、GEC6818

这里为似懂非懂的朋友简单叙述该文章的具体操作由来,我们的主要目的是将写好的驱动程序烧进开发板中,看到我们想要的现象。

第一个,我们需要让开发板和Linux平台建立联系,这样我们才能让俩者进行更好的交互,这个中间件网上有许多,这里我以putty为例连接展示。

第二个,在Linux上交叉编译好的可执行文件需要上传到中间件上运行,这里需要使用nfs服务挂载到开发板上。

第三个,在该ARM板上,厂商已为客户写入部分内核驱动模块。


一、搭建nfs服务

  1. 在Linux下打开终端,输入命令:
sudo apt-get install nfs-kernel-server
  1. 设置共享目录。在Linux上设置一个共享目录,方便之后步骤中一些文件的存放以及使用,在终端中输入命令:
sudo  mkdir -p /home/incipe/nfs
sudo chmod 777 /home/incipe/nfs
vim /etc/exports //(在exports下面添加如在语句)
/home/incipe/nfs (rw)
  1. 重启NFS服务,确保上面两步完成,终端中输入命令:
sudo /etc/init.d/nfs-kernel-server restart 

看到有四个OK出现即为设置成功。

二、ARM板的硬件连接

所需为一块ARM板、一根串口线、一根网线、一根电源线。
在这里插入图片描述

三、putty连接

使用母头串口线、网线、电源线将QT6818开发板与我们电脑相连,查看端口,然后打开我们的Putty,将端口号填写好,然后比特流改成115200,然后开启开发板和Putty。
在这里插入图片描述
在这里插入图片描述
至此,putty连接ARM板成功!

四、挂载共享文件夹

  • 相互ping通

查看开发板、Ubuntu的IP地址,修改开发板、Ubuntude IP地址。先在Ubuntu和开发板上查看其IP地址,输入命令:ifconfig,然后我们要将Ubuntu的IP地址改成和开发板一个网段的地址。改装完之后在Ubuntu上再输入ifconfig命令,查看是否改装成功。

查看IP地址命令:ifconfig
更改IP地址命令:ifconfig eth0 xxx.xxx.x.xxx

更改为同一网段后相互ping通:ping xxx.xxx.x.xxx

在这里插入图片描述

  • 交叉编译

将编译好的驱动程序复制到之前创建的共享文件夹 /home/incipe/nfs
(以下是在Linux终端执行)

 cp /mnt/hgfs/Ubuntu14.04_share/led_test.c /home/incipe/nfs/

在/home/incipe/nfs 文件中交叉编译led_test.c文件
(此前需要安装交叉编译环境)

arm-linux-gcc -o led_test led_test.c 
  • 挂载

将交叉编译生成的led_test可执行文件挂载到开发板,在putty上执行如下语句实现挂载:

mount -t nfs 192.168.1.180:/home/incipe/nfs /mnt/sd -o nolock

其中
192.168.1.180:/home/incipe/nfs 为Linux IP地址及Linux下的共享文件夹
/mnt/sd 为挂载在开发板上地址
在这里插入图片描述
可见,挂载成功。

五、烧写驱动程序

此前,你需知道的常见驱动命令:

  • uname命令
    用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
  • lsmod命令
    用于显示已经加载到内核中的模块的状态信息。
  • rmmod命令
    用于从当前运行的内核中移除指定的内核模块。
  • insmod命令
    用于将给定的模块加载到内核中。
  • dmesg命令
    用于检查和控制内核的环形缓冲区。
  • get_module命令
    用于获取Linux内核模块的详细信息。

在这里插入图片描述
接下来,我以上方已加载的led驱动模块为例,烧入驱动程序
先观察烧入前板子上的 led 状态(默认状态全亮)
在这里插入图片描述
运行已挂载的可执行文件: ./led_test
在这里插入图片描述
输入数字“4”和“6”表示关闭第2个和第3个led灯,观察现象:
在这里插入图片描述
观察可知,第二个和第三个led灯成功关闭。

六、驱动程序示例

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>#define TEST_MAGIC 'x'                           //定义幻数
#define TEST_MAX_NR 2                            //定义命令的最大序数//定义LED的魔幻数
#define LED1 _IO(TEST_MAGIC, 0)              
#define LED2 _IO(TEST_MAGIC, 1)
#define LED3 _IO(TEST_MAGIC, 2)
#define LED4 _IO(TEST_MAGIC, 3)/*************************************************
*主函数-实现led的控制
*************************************************/
int main(int argc, char **argv)
{int fd,val;fd = open("/dev/Led",O_RDWR);                //打开设备下的LED,成功返回0if(fd<0){perror("Can not open /dev/LED\n");return 0;}while(1){val = 0;printf("**********************************************\n");printf("*please select which light to turn on        *\n");printf("* 1->1:on   2 ->1:off | 3 ->2:on  4 ->2:off  *\n");printf("*------------------------------------------- *\n");printf("* 5->3:on   6 ->3:off | 7 ->4:on  8 ->4:off  *\n");printf("**********************************************\n");scanf("%d",&val);while(val == 0){printf("****************\n");scanf("%d",&val);}//printf("***********val = %d\n",val);switch(val){case 1: ioctl(fd, LED1, 0);                //1灯亮break;case 2: ioctl(fd, LED1, 1);                //1灯灭break;case 3: ioctl(fd, LED2, 0);                //2灯亮break;case 4: ioctl(fd, LED2, 1);                //2灯灭break;case 5: ioctl(fd, LED3, 0);                //3灯亮break;case 6:ioctl(fd, LED3, 1);                //3灯灭break;case 7: ioctl(fd, LED4, 0);                //4灯亮break;case 8: ioctl(fd, LED4, 1);                //4灯灭break;default: close(fd);return 0;}}close(fd);return 0;}
http://www.hotlads.com/news/2237.html

相关文章:

  • 如何做品牌网站设计sem是什么显微镜
  • 为赌博网站做宣传厦门seo公司到1火星
  • wordpress 压缩网站锦州网站seo
  • 做企业网站需要准备什么材料百度词条优化
  • 常见的网站建设技术计算机培训班
  • 网站做任务挣钱长春seo排名
  • 焦作市建设委员会网站网站页面优化内容包括哪些
  • 如何免费自做企业网站今日头条官网
  • WordPress手机端底部悬浮窗电商seo
  • 优惠的网站快排公司电话培训网站设计
  • 网站网址黄页大全免费游戏加盟
  • 赤峰网站建设企业肇庆百度快速排名
  • 做网站卖别人的软件可以吗浏览器如何推广自己网站
  • 在招聘网站做电话销售怎么样sem是什么方法
  • 墨客网站建设杭州seo首页优化软件
  • 衢州品牌网站设计网页设计代码大全
  • php做网站怎么布局新平台推广
  • 小型的b2c网站搜索引擎营销是什么意思
  • 红色色系做网站的配色seoer是什么意思
  • 西安北郊做网站的公司小时seo加盟
  • wordpress 社区插件站长工具seo综合查询问题
  • 网站备案规定关键词推广软件排名
  • 做网站需要准备什么材料个人网站备案
  • 怎么做网站流量拉新平台哪个好佣金高
  • 如何优化google关键词使网站排名靠前百度推广营销方案
  • 最好网站开发公司电话seo搜索引擎优化服务
  • 东莞做商城网站建设哪家好0元免费做代理
  • 广州品牌网站建设 优美站长之家 站长工具
  • 单页销售网站如何赚钱怎么弄一个网站
  • 企业融资计划南宁seo渠道哪家好