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

站长之家关键词挖掘工具做柜子设计的网站设计

站长之家关键词挖掘工具,做柜子设计的网站设计,网站的开发设计的技术,企业网络营销现状报告一、移植 根据硬件平台的差异#xff0c;将代码进行少量的修改#xff0c;修改过后的代码在目标平台上运行起来 移植还需要考虑硬件环境#xff0c;驱动只需要考虑内核的环境 二、移植内容 1、移植Uboot uboot属于bootloader的一种#xff0c;还有其他的bootloader#x…一、移植 根据硬件平台的差异将代码进行少量的修改修改过后的代码在目标平台上运行起来 移植还需要考虑硬件环境驱动只需要考虑内核的环境 二、移植内容 1、移植Uboot uboot属于bootloader的一种还有其他的bootloader如arm-boot、red-boot、uboot、pmon、uefi bootloader是系统上电之后执行的第一个系统软件负责初始化硬件负责加载引导操作系统。 2、移植Linux内核 1获取Linux内核源码 官网   The Linux Kernel Archives 2板子上操作系统与不上操作系统的区别 优点可以更容易的实现较为复杂的业务逻辑 缺点硬件的成本很高 3Linux内核的核心功能 【1】进程间通信 管道命名管道、匿名管道 [a]通信方式 匿名管道半双工的同一时刻数据只能使用一种方式流动用于有亲缘关系的进程间通信 命名管道支持双向通信允许非亲缘关系的进程间通信包括亲缘关系 [b]通信方式  匿名管道pipe(2) 命名管道mkfifo(2) [c]存在形式 匿名管道不是文件是kernel中的一段buffer 命名管道是文件在linux文件系统中以p表示 [d]生命周期 匿名管道当调用pipe(2)时创建当调用进程结束时pipe被销毁了 命名管道当调用mkfifo(2)时创建当调用进程结束时fifo文件依然存在 SYS V IPC消息队列、共享内存、信号量 【2】进程间的管理 给当前进程分配多少个时间片给当前进程分配多少内存 【3】虚拟文件子系统 【4】网络子系统 【5】内存管理子系统 早期的内核版本2.6版本Red Hat4 开发板中使用的内存版本是3.4版本 企业中使用最多的是4.19、5.10 3、移植根文件系统 1号进程[init]对应的程序就是根文件系统 根文件系统里面包含一些命令例如 ls、cd、touch、rm。。。 我们可以通过busybox工具制作根文件系统它已经集成了上述命令。 4、总结 移植三大系统软件包括 【1】移植uboot对应固件工程师固化到硬件里的软件程序例如ESP8266WiFi模块内部集成了TCP/UDP协议栈是由乐鑫公司固件工程师实现的【2】移植Linux内核对应Linux内核工程师【3】移植根文件系统对应系统集成开发工程师 5、目标 【1】熟悉uboot的源码掌握uboot的编译方式 【2】掌握Linux源码的框架结构掌握Linux内核裁剪方式掌握Linux内核编译过程 【3】掌握根文件系统镜像的制作 三、开发板烧写 擦除emmc并对其进行分区 1、实验前准备 【1】uboot 【2】Linux内核 【3】根文件系统的镜像 2、新建一个实验文件夹 mkdir s5p6818 3、将所需文件拷贝至实验文件 cp ubootpak.bin ~/s5p6818/         cp fastboot/uImage ~/s5p6818/         cp fastboot/rootfs_ext4.img ~/s5p6818/ 4、查看各文件大小便于分区 1查看uboot引导内核 du -h ubootbinpak.bin 看到ubootpak.bin只有336K不到1Mb可以在emmc开头位置分1Mb的空间给uboot 2查看uImage内核 du -h uImage 看到uImage有5.2Mb但我们将来需要裁剪并且还要添加很多的驱动模块所以给内核分大一些分64Mb 3查看rootfs根文件系统 du -h rootfs_ext4.img 看到rootfs有100Mb我们给它分大一些比如800Mb 5、关于EMMC的分区 三星公司对于第二启动设备EMMC的分区有一个指定的命名 第一分区mmcblk0p1                 第二分区mmcblk0p2                 第三分区mmcblk0p3 注意         我们在烧录的时候需要按照扇区进行烧写1扇区512byte 因为EMMC是一个硬盘是一个块设备需要用字节进行操作需要按照扇区进行烧录         1】在擦除之前保证下位机可以ping通上位机         2】保证全过程开发板不断电         3】把SD卡拔掉         ps如果失败需要把之前的步骤重新来一遍 6、擦除emmc分区 mmc erase 0 0x100000 注释         0要擦除的起始块         0x100000要擦出的字节数 7、对emmc进行分区 fdisk 2 3 0x100000:0x4000000 0x4100000:2f200000 0x33300000:0 注释         2表示第二个启动设备EMMC         3表示分区个数         第一个参数表示每个分区的起始地址         第二个参数表示分区的字节大小          8、烧写uboot 1上位机把ubootpak.bin拷贝到tftp共享目录 cp ubootpak.bin /tftpboot/         md5sum ubootpak.bin         md5sum /tftpboot/ubootpak.bin //通过md5sum命令计算校验文件的MD5校验码来确定是否拷贝成功 2下位机下载uboot tftp 0x48000000 ubootpak.bin 注意         这是将ubootpak.bin通过tftp方式下载到了开发板的内存中将来需要更新到EMMC中         下载了多少个字节将来就更新多少个字节 3下位机更新EMMC update_mmc 2 2ndboot 0x48000000 0x200 0x53ba8  注释         update_mmc更新emmc命令         2设备号         2ndboot第二启动设备         0x48000000从内存的0x48000000位置开始读取         0x200从emmc的200个字节开始更新         0x53ba8更新的字节数下载了多少字节就更新多少字节 4下位机的ip地址 烧写完之后需要重新更改下位机的ip地址  setenv ipaddr 192.168.1.6 setenv serverip 192.168.1.8 saveenv 9、烧录uImage 1上位机把uImage拷贝到tftp共享目录 cp uImage /tftpboot/         md5sum uImage         md5sum /tftpboot/uImage //通过md5sum命令计算校验文件的MD5校验码来确定是否拷贝成功 2下位机下载uImage tftp 0x48000000 uImage 注意         这是将uImage通过tftp方式下载到了开发板的内存中将来需要更新到EMMC中         下载了多少个字节将来就更新多少个字节 3下位机写emmc mmc write 0x48000000 0x800 0x3000  注释         mmc write往emmc中写数据指令         0x48000000从内存的0x48000000位置开始读取         0x800从emmc的0x800个扇区的位置开始写         0x3000要写的扇区数可以比实际下载的大小大一些 4修改bootcmd环境变量 需要修改环境变量bootcmd告诉uboot去哪里加载Linux内核 setenv bootcmd mmc read 0x48000000 0x800 0x3000\;bootm 0x48000000 注释         mmc read从硬盘读         0x48000000读到内存的0x48000000地址中         0x800从硬盘的第0x800扇区读         0x3000连续读0x3000个扇区         \连续符         bootm 48000000自动从48000000位置启动内核                  saveenv a、烧录根文件系统  1上位机把rootfs_ext4.img拷贝到tftp共享目录 cp rootfs_ext4.img /tftpboot/         md5sum rootfs_ext4.img         md5sum /tftpboot/rootfs_ext4.img //通过md5sum命令计算校验文件的MD5校验码来确定是否拷贝成功 2下位机下载rootfs_ext4.img tftp 0x48000000 rootfs_ext4.img 注意         这是将rootfs_ext4.img通过tftp方式下载到了开发板的内存中将来需要更新到EMMC中         下载了多少个字节将来就更新多少个字节 3下位机写emmc mmc write 0x48000000 0x20800 0x32000  注释         mmc write往emmc中写数据指令         0x48000000从内存的0x48000000位置开始读取         0x20800从emmc的0x20800个扇区的位置开始写         0x32000要写的扇区数可以比实际下载的大小大一些 4修改bootargs环境变量 需要修改环境变量bootargs告诉Linux内核去哪里挂载根文件系统以什么样的方式挂载根文件系统 setenv bootargs root/dev/mmcblk0p2 rootfstypeext4 consolettySAC0,115200 maxcpus1 lcdwy070ml tpgslx680 注释         root/dev/mmcblk0p2从EMMC的第二个分区找根文件系统         rootfstypeext4根文件系统的类型         consolettySAC0,115200用来设置控制终端         maxcpus1单CPU模式         lcdwy070ml指定LCD先视频的型号         tpgslx680指定TS触摸屏的型号                  saveenv 四、通过nfs的方式挂载根文件系统  nfs的网络服务Network File System是由SUN公司研制的UNIX操作系统的表示层协议 OSITCP/IP应用层应用层表示层会话层传输层传输层网络层数据链路层数据链路层物理层物理层 我们不把根文件系统放到开发板的EMMC中而是将下位机的根文件系统部署在上位机中这样做的好处 【1】可以直接在上位机中修改下位机的根文件系统的内容 【2】不需要再重复的往下位机的EMMC中烧录根文件系统延长EMMC的寿命 1、在PC机中配置nfs服务 sudo apt-get install nfs-kernel-server                 sudo mkdir /nfs_share                  sudo chmod 777 /nfs_share                 tar -xvf rootfs_qt.tar.bz2 -C /nfs_share                 /*修改nfs的配置文件*/                                 /*修改nfs的服务文件*/ 2、修改nfs的配置文件 sudo vim /etc/exports         (在exports文件中直接添加内容)         /nfs_share/rootfs *(rw,sync,no_root_squash) 注释         /nfs_share/rootfs 共享目录的绝对路径         * 所有ping通服务器的用户         rw 用户在访问时可读可写         sync 同步         no_root_squash 不会对于root用户降级 3、 修改nfs的服务文件 sudo vim /etc/default/nfs-kernel-server         (在文件中直接添加内容)         RPCNFSDOPTS--nfs-version 2,3,4 --debug --syslog         /*保存退出重启nfs服务*/                 sudo service nfs-kernel-server restart         /*关闭防火墙*/                 sudo service ufw stop 4、 修改下位机的bootargs环境变量 setenv bootargs root/dev/nfs                                           nfsroot192.168.1.8:/nfs_share/rootfs                                                                                      ip192.168.1.6:192.168.1.8:192.168.1.1:255.255.255.0                                           init/linuxrc                                           consolettySAC0,115200                                           maxcpus1                                           lcdwy070ml                                           tpgslx680-linux 注释         root/dev/nfs说明根文件系统不在本地在网络上         nfsroot192.168.1.8:/nfs_share/rootfs说明根文件系统在nfs服务器上的具体位置         ip192.168.1.6:192.168.1.8:192.168.1.1:255.255.255.0设置根文件系统的ip信息         本地ip服务器ip网关子网掩码         init/linuxrc执行init进程初始化文件         consolettySAC0,115200设置控制终端         maxcpus1单CPU模式         lcdwy070ml指定LCD显示屏的型号         tpgslx680-linux指定TS触摸屏的型号 5、总结 用户名root 密码123456 由于是挂载的根文件系统所以PC机在/nfs_share目录中创建的文件在开发板的根中可以找到在开发板的根中创建的文件在PC机的/nfs_share目录中可以找到在实际的嵌入式开发中这种方式经常会用到很方便。
http://www.w-s-a.com/news/703582/

相关文章:

  • 西安网站定制开发国内cms推荐
  • windows网站建设教程视频教程wordpress默认用户头像
  • 做网站需要什么软件wordpress会员邮件通知
  • 技术支持网站合肥网站搭建
  • 无为网站设计免费制作企业网站平台
  • 社交网站第一步怎么做房屋装修效果图用什么软件
  • 企业网站 批量备案合肥 网站建设
  • 如何提高网站索引量室内设计师之路网站
  • ps怎么做响应式网站布局图现在做网站都是怎么做的
  • 导购 网站模板网站主题选择
  • 毕业设计医院网站设计怎么做郑州铭功路网站建设
  • 网站根域名是什么php做商城网站步骤
  • 建设网站的那个公司好网站建设万首先金手指12
  • 广东民航机场建设有限公司网站网站开发后端用什么
  • 做风帆网站需要多少钱越野车网站模板
  • 如何做网站平台销售用狗做头像的网站
  • 宝安电子厂做网站美食网页设计的制作过程
  • 网站logo提交学网站开发技术
  • 跨境电商平台网站建设广州西安官网seo推广
  • 我和你99谁做的网站小程序制作第三方平台
  • 建设银行网站用户名鹤岗网站seo
  • 做一元夺宝网站需要什么条件西安市做网站的公司
  • 零基础建设网站教程郑州做网站推广价格
  • 平面设计免费素材网站新开三端互通传奇网站
  • ppt模板免费下载 素材医疗seo网站优化推广怎么样
  • 课程网站怎么做wordpress文章改背景色
  • 网络营销从网站建设开始卖汽车配件怎么做网站
  • 手机商城网站制作公司济南想建设网站
  • .net 建网站网站网站做员工犯法吗
  • 电子商务网站建设说课稿棕色网站设计