• 嵌入式学习之环境搭建


    工欲善其事,必先利其器。

    学嵌入式也是一样,首先得了解环境。

    下面我讲讲开发的步骤:

    1、串口设置

    首先:连接串口,使用工具 secure CRT。

    但是呢连接串口后,无法键入。

    解决方案:

    参考资料: http://blog.csdn.net/heli007/article/details/7279022SecureCRT下的串口不能输入

    更改串行选项:如下图所示。

    这里面需要注意一点的就是,一般的开发板,出厂时已经将linux系统烧录进开发板了。我们不需要在进行烧录了,然后就是串口的连接。

    我用的这款 处理器 Samsung S5PV210 基于Cortex M-A8. Arm 有三个系列: application、real-time 、micro controller。

    注意:一般配置好串口后,不会立即出数据,需要重启开发板上面的系统才行,最简单办法就是断电。

    然后,我们用CRT(需要在兼容模式下运行),捕捉到界面如下。(看上去像是硬件自检)

    2、硬件环境

    无外乎就是网线与串口连接,我们可以在串口中输入 ifconfig来确定IP地址。然后将本机IP设置到开发板同一个网段即可。

    目前在我的应用中,我们可以通过网线设置nat,进行文件间的共享,通过串口或者网口来执行命令都可以。

    注意:这里有个小窍门,一般台式机只有一个网口怎么办?我们只需要把开发板的网线接到路由器或者交换机上即可。

    3、配置宿主机软件环境

    一般嵌入式开发环境有三: 基于pc机Windows操作系统下的CYGWIN;在Windows系统上安装虚拟机,然后再虚拟机上装Linux系统;直接安装Linux系统。

    这里我们以第二种为例,前提是系统足够强悍,配置高即可。

    网络方面:设置下NFS服务器。

    步骤:

    1)、 配置文件 打开 vi /etc/exports 录入要共享的目录 /CBT-SuperIOT *(rw)    可读写 *表示任意机器都可以访问,最前面是共享目录。

    2)、打开或者重启服务 /etc/init.d/nfs restart (所有的服务都可以通过此方法进行关闭或者重启,类似于 svcadm xxxservice start)

    其实也可以通过 service nfs start 来实现。 或者 chkconfig nfs on 来实现。这三种方法都可以,最后一种方法重启后生效。

    如图:

    关闭防火墙: (必须要关闭,不然开发板系统(从设备)无法共享nfs的目录。)

    解释一下,在这个系统中,我们在pc中安装的Linux作为nfs 网络文件系统的客户端。开发板上面的linux才是真正的服务器端。所以需要在服务器端进行文件系统的挂载。

    /etc/init.d/iptables stop 、 chkconfig iptables off 、 service iptables start

    3)、ARM linux中挂载nfs系统(必须干掉防火墙)

    mount -t nfs –o nolock 192.168.1.107:/CBT-SupperIOT /mnt/nfs     表示挂载nfs 选项是-o IP+共享的文件夹 + arm下面的挂载点。

    解除挂载:umount /mnt/nfs

    4、编写代码

    1)通常嵌入式开发有两种,挂载或者下载。现在一般是挂载,因为arm当中存储资源有限。(直接挂载二进制代码)

    2)创建实验目录,编写源代码,编写Makefile

    注意:Makefile 不能有任何错误,不然将无法编译。

    CC=arm-linux-gcc 指明编译器

    EXEC=hello 表示编译后生成的执行文件名称

    OBJS=hello.o 目标文件列表

    CFLAGS+= 编译参数

    LDFLAGS+=-static 连接参数

    all: $(EXEC) 编译主入口

    $(EXEC) : $(OBJS)

    $(CC) $(LDFLAGS) -o $@ $(OBJS)

    clean: 清除编译结果

    -rm –f $(EXEC) *.elf *.gdb *.o

    小知识点:如何切换到根目录 cd / 即可。

    3)编译程序

    在命令行长 ,键入 make即可。如果需要修改 make clean 然后再修改。

    注意:编译修改都是在宿主机上进行,不能再arm中进行。

    补充一个小知识点:安装arm-linux-gcc

    1)加载光盘文件 mount -t iso9660 /dev/cdrom /mnt/cdrom

    2) 拷贝文件并解压 cp 与 tar 命令。

    3)拷贝文件并指定路径 cp 与 vi 命令。

    4)使写入文件生效并验证 source 与 arm-linux-gcc 验证。

    注意:原来arm-linux-gcc 与 ffmpeg一样,都是可执行文件。Redhat 中的软件安装 rpm yum 等。

    参考资料:http://blog.sina.com.cn/s/blog_68f3489201014a86.html arm-linux-gcc-4.5.1的安装方法

    5、在arm中验证

    1) 利用串口终端进入到NFS共享使用目录

    cd /mnt/nfs

    2) 执行程序

    ./hello

  • 相关阅读:
    spring filter and interceptor
    spring 与 swagger 2 的整合
    spring 异步操作
    图片延迟加载 jquery,lazyload.js 调用的demo
    一、Spring的第一个课时
    线程的基本了解
    HTTPS/HTTP监听常见问题
    Leetcode 118 杨辉三角
    HashSet的源码解释
    HashMap源码理解
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/4452154.html
Copyright © 2020-2023  润新知