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

国外工装设计网站大全网络营销的优势是什么

国外工装设计网站大全,网络营销的优势是什么,logo在线设计生成器标智客,wordpress博客分页【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们陆陆续续开发了差不多有10个驱动,涉及到网口、串口、音频和视频等几个方面。但是整个开发的效率还是比较低的。每次开发调试的…

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们陆陆续续开发了差不多有10个驱动,涉及到网口、串口、音频和视频等几个方面。但是整个开发的效率还是比较低的。每次开发调试的时候都很麻烦,譬如说,如果是驱动代码的问题,就需要把sd卡拆下来,重新烧入;再比如说,uboot和linux之间不能连续运行,需要手动做一些配置之后,再启动linux kernel;还比如说,使用480*272的dtb文件之后,之前的网卡功能都丢失了,很不方便。所以针对这些问题,我们想办法集中处理一下,这样有利于后期的复杂驱动调试、以及上层软件开发。

        目前已经升级的开发环境主要有这7个方面,

        a)解决uboot不能正常启动linux kernel的问题;

        b)解决开机后需要输入root用户名的问题;

        c)添加开机启动脚本的问题;

        d)添加网卡;

        e)安装ftp服务器软件;

        f)安装telnet服务器软件;

        g)自由升级zImage和dtb文件。

        注1: 实际使用的时候,不要删除ftp账户。假设root账户无法登录,这个时候之前创建的ftp账户还可以派上用场,可以先用ftp登录,然后su到root上面去。

        注2:另外一个建议,就是大家上传可执行文件的时候,一定要先压缩再解压,这样基本肯定不会出问题。

1、解决uboot不能正常启动linux kernel的问题

        要解决这个问题,关键在于增加CONFIG_BOOTCOMMAND和CONFIG_BOOTARGS这两个宏。因为我们使用的是v3s这颗芯片,所以在uboot上面,可以把上述两个宏添加到include/configs/sun8i.h这个文件下面,

#include <configs/sunxi-common.h>#ifdef CONFIG_BOOTCOMMAND
#undef CONFIG_BOOTCOMMAND
#endif#define CONFIG_BOOTCOMMAND	  "setenv bootm_boot_mode sec; "\"load mmc 0:1 0x41000000 zImage;"  \"load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-with-480x272-lcd.dtb;" \"bootz 0x41000000 - 0x41800000;"#ifdef CONFIG_BOOTARGS
#undef CONFIG_BOOTARGS
#endif#define CONFIG_BOOTARGS      "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw vt.global_cursor_default=0"

        注意两个宏的设置都放在include头文件之后。当然因为这个文件发生了修改,那么整个uboot就需要重新编译一下,

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

        等编译结束,生成了我们需要的bin文件之后,就可以pc上插入读卡器,准备bin文件烧入了,

feixiaoxing@feixiaoxing-VirtualBox:~/Desktop/u-boot-3s-current$ sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
[sudo] password for feixiaoxing: 
389+1 records in
389+1 records out
398367 bytes (398 kB, 389 KiB) copied, 1.71158 s, 233 kB/s

        烧入的工具是利用ubuntu虚拟机里面的dd命令来完成的。为了保证烧入ok,可以继续输入一个sync命令。结束后,退出sd卡,重新把micro sd卡插入到开发板上,不出意外的话,就可以看到uboot、kernel连续启动的过程了,

        如果你已经可以看到这样的内容,代表当前uboot可以持续启动linux kernel了。

2、解决开机后需要输入root用户名的问题

        如果当前还处于开发阶段,每次都需要输入root用户名,其实是很令人反感的一个事情。虽然是免密登录,但是还是想着可以更方便一点。这个时候,完全可以通过文件配置的方法来解决这一问题。

# Put a getty on the serial port
#console::respawn:/sbin/getty -L  console 0 vt100# GENERIC_SERIAL
ttyS0::once:/bin/login root

        在原来/etc/inittab里面注释掉getty的内容,添加login这一行,那么我们每次开机的时候就不需要手动输入root这个用户了。并且,开机之后,自动切换到/root这个目录下面。

3、添加开机启动脚本的问题

        有一些程序或者配置,我们其实是希望系统启动后可以默认执行的,比如这个时候就希望linux可以自动帮我们执行一些脚本,例如auto.sh。要实现这个目标,这个时候,可以这么做,分成三步。

        第一步,在/etc/init.d/rcS最后一行添加这么一句,

/etc/rc.local

        第二步,创建/etc/rc.local文件,填充下面这些内容,同时chmod +x /etc/rc.local,

#!/bin/sh
/root/auto.sh &

        第三步,创建/root/auto.sh文件,添加一点测试内容,比如

echo "hello, world"

        同样auto.sh需要chmod +x auto.sh设置一下,让它变成可执行文件。为了测试我们的配置有没有效果,可以按下板子上的复位键,如果看到这些输出,大体可以认为我们的设计是ok的。

        仔细找一下,还是发现了hello, world的身影。这说明我们的配置是正确的。

4、添加网卡

        观察发现,sun8i-v3s-licheepi-zero-with-480x272-lcd.dts和sun8i-v3s-licheepi-zero-with-lcd.dtsi这两个文件中,都没有关于以太网的配置。而之前sun8i-v3s-licheepi-zero-dock.dts中则包含了相关的内容,这个时候我们要做的,就是把dsun8i-v3s-licheepi-zero-dock.dts中关于网卡的配置挪到sun8i-v3s-licheepi-zero-with-lcd.dtsi当中去就可以了,

	aliases {ethernet0 = &emac;};

        首先是ethernet0指向了emac,

&emac {status = "okay";
};

        其实是emac中的status设置为okay。别看这两步很简单,但是如果不做的话,网卡就是启动不起来。当然有了这两点还是不够的,我们需要在/etc/network/interfaces中增加一点配置,

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.230
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8

        从脚本上看,系统启动后除了配置loopback之外,还需要添加eth0,并且需要进一步设置ip、netmask和gateway。这一顿操作之后,如果pc电脑还在同一网段,基本就可以和电脑之间实现ping的正常通讯了。

# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:00:A4:52:F3:CC  inet addr:192.168.0.230  Bcast:0.0.0.0  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:384 errors:0 dropped:0 overruns:0 frame:0TX packets:162 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:33241 (32.4 KiB)  TX bytes:7140 (6.9 KiB)Interrupt:36 lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)# ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100): 56 data bytes
64 bytes from 192.168.0.100: seq=0 ttl=128 time=92.529 ms
64 bytes from 192.168.0.100: seq=1 ttl=128 time=12.744 ms
64 bytes from 192.168.0.100: seq=2 ttl=128 time=38.267 ms
64 bytes from 192.168.0.100: seq=3 ttl=128 time=60.146 ms
64 bytes from 192.168.0.100: seq=4 ttl=128 time=84.125 ms
64 bytes from 192.168.0.100: seq=5 ttl=128 time=80.020 ms
^C
--- 192.168.0.100 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 12.744/61.305/92.529 ms

5、安装ftp软件

        嵌入式ftp,一般都会使用vsftpd这个软件。大家可以通过buildroot来进行编译,

         选中了vsftpd之后,就可以开始make编译。实际处理中,如果发现buildroot下载vsftpd下载比较困难,可以帮助它下载一下,然后拷贝到./dl目录下,再编译也是可以的。

        编译结束后,所有的根文件都在./output/target目录下,这里有两个文件需要拷贝。一个是usr/sbin下面的vsftpd,另外一个是etc/下面的vsftpd.conf。我们也需要把它拷贝到sd卡对应的根文件目录下。

        这个vsftpd.conf需要按照下面这些内容重新配置下,如果嫌麻烦,可以直接拷贝下面这些内容,粘贴上去,

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
listen=YES
allow_writeable_chroot=YES

        除此之外,还需要几个操作步骤,

touch /etc/vsftpd.chroot_list
mkdir /usr/share/emptyuseradd ftp   #增加新用户ftp,密码是ftpmkdir /home/ftp
chown ftp:ftp /home/ftp
chmod 755 /home/ftp

        有了这些做铺垫,直接shell输入/usr/sbin/vsftpd &之后,服务器就起来了。为了验证是不是真的有效,可以用Filezilla客户端做一个测试,即输入192.168.0.230,用户名和密码都是ftp,端口21,连接看看是否成功,如果成功,进一步验证下文件上传、下载是否成功。

        当然,现在有个小问题就是,每一次传输的时候,好像都会有一个vsftpd进程起来,这导致ps aux的时候看到好多vsftpd进程。确实有点奇怪,只是暂时还没有影响使用。实在受不了的话,只能killall vsftpd删除一下。

        当然,比较优雅一点的办法,就是在vsftpd.conf里面添加一条max_per_ip=1,这也能达到我们的目的。

6、设置telnetd

        之前我们和板子之间通信的时候都是走的串口ttyS0,这没问题。但是如果能够使能telnet访问到开发板,这样就显得更方便了。好在telnetd的引用也不复杂,只需要在busybox开放telnetd即可。首先cd到buildroot目录下,输入make busybox-menuconfig,进而在Networking Utilities中选择telnetd即可,

        选择好之后,直接make。这样buildroot会生成新的busybox。我们都知道,根文件的很多命令都来自于这个busybox。所以,下一步就是利用压缩的方法,把新的busybox通过ftp上传到开发板上面。启动方式也很直接,就是./busybox telnetd -l /bin/sh &。此时需要验证一下telnet的23号端口有没有打开,输入netstat -an即可看到,

# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      
netstat: /proc/net/tcp6: No such file or directory
netstat: /proc/net/udp6: No such file or directory
netstat: /proc/net/raw6: No such file or directory
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  4      [ ]         DGRAM                      1444 /dev/log
unix  2      [ ]         DGRAM                      1949 
unix  2      [ ]         DGRAM                      1448 

        有了telnet之后,测试就可以脱离串口,pc电脑也可以离开开发板,感觉人一下子解放出来,建议大家多试试telnet调试。

7、快速升级zImage和dtb文件

        之前重新编译zImage和dtb文件的时候,都是需要独立烧入sd卡,使用十分不方便。现在有了网络之后,升级过程只需要两部就可以完成,

        第一,将升级前的文件用ftp拷贝到开发板,注意压缩;

        第二,mount /dev/mmcblk0p1 /mnt,将原来的文件删除,替换成新传上来的解压文件;

        第三,重启电脑,确认功能是否ok即可。


文章转载自:
http://dinncomacrobenthos.bkqw.cn
http://dinncoacneigenic.bkqw.cn
http://dinncothach.bkqw.cn
http://dinncounionize.bkqw.cn
http://dinncosociably.bkqw.cn
http://dinncoweariful.bkqw.cn
http://dinncouncompensated.bkqw.cn
http://dinncotrombone.bkqw.cn
http://dinncomeningitic.bkqw.cn
http://dinncosard.bkqw.cn
http://dinncoatishoo.bkqw.cn
http://dinncobugs.bkqw.cn
http://dinncodenudation.bkqw.cn
http://dinncochatoyancy.bkqw.cn
http://dinncocutback.bkqw.cn
http://dinncoorganic.bkqw.cn
http://dinncoaggressor.bkqw.cn
http://dinncoxerothermic.bkqw.cn
http://dinncoprepuce.bkqw.cn
http://dinncomulberry.bkqw.cn
http://dinncosaphead.bkqw.cn
http://dinncoformosan.bkqw.cn
http://dinncosixern.bkqw.cn
http://dinncogantt.bkqw.cn
http://dinncohunger.bkqw.cn
http://dinncogdingen.bkqw.cn
http://dinncowaterwheel.bkqw.cn
http://dinncounwearied.bkqw.cn
http://dinncofeuilletonist.bkqw.cn
http://dinncotranslatese.bkqw.cn
http://dinncodistrust.bkqw.cn
http://dinncohottish.bkqw.cn
http://dinncoexigible.bkqw.cn
http://dinncohopbine.bkqw.cn
http://dinncomss.bkqw.cn
http://dinncofeignedly.bkqw.cn
http://dinncoretroengine.bkqw.cn
http://dinncohumbuggery.bkqw.cn
http://dinncoawlwort.bkqw.cn
http://dinnconeaten.bkqw.cn
http://dinncounworthily.bkqw.cn
http://dinncolandwind.bkqw.cn
http://dinncoisochromatic.bkqw.cn
http://dinncopreponderate.bkqw.cn
http://dinncovernacular.bkqw.cn
http://dinncowasherman.bkqw.cn
http://dinncotachisme.bkqw.cn
http://dinncoantherozoid.bkqw.cn
http://dinncobateleur.bkqw.cn
http://dinncoquadrate.bkqw.cn
http://dinncopervicacious.bkqw.cn
http://dinncononconformity.bkqw.cn
http://dinncosunstar.bkqw.cn
http://dinnconondenominated.bkqw.cn
http://dinncounmapped.bkqw.cn
http://dinncoantitheism.bkqw.cn
http://dinncoagglutinability.bkqw.cn
http://dinncopackery.bkqw.cn
http://dinncolordliness.bkqw.cn
http://dinncomachinelike.bkqw.cn
http://dinncooctavalent.bkqw.cn
http://dinncoatlantic.bkqw.cn
http://dinncopassional.bkqw.cn
http://dinncotoolbar.bkqw.cn
http://dinncoimpoliticly.bkqw.cn
http://dinncokennelly.bkqw.cn
http://dinncogreengrocery.bkqw.cn
http://dinncolaunderette.bkqw.cn
http://dinncognathism.bkqw.cn
http://dinncocollator.bkqw.cn
http://dinncopintano.bkqw.cn
http://dinncorabbinist.bkqw.cn
http://dinncosparingly.bkqw.cn
http://dinncoautoman.bkqw.cn
http://dinncogemstone.bkqw.cn
http://dinncodepict.bkqw.cn
http://dinncosnackette.bkqw.cn
http://dinncothrash.bkqw.cn
http://dinncoearthquake.bkqw.cn
http://dinncochromic.bkqw.cn
http://dinncopowerfully.bkqw.cn
http://dinncoasce.bkqw.cn
http://dinncotoothsome.bkqw.cn
http://dinncosubject.bkqw.cn
http://dinncodingbat.bkqw.cn
http://dinncotrigram.bkqw.cn
http://dinncocurtailment.bkqw.cn
http://dinncogimlet.bkqw.cn
http://dinncoanalogue.bkqw.cn
http://dinncotalca.bkqw.cn
http://dinncoclip.bkqw.cn
http://dinncoharmonious.bkqw.cn
http://dinncoiise.bkqw.cn
http://dinncotrackwalker.bkqw.cn
http://dinncocoppermine.bkqw.cn
http://dinncoformalistic.bkqw.cn
http://dinncomarigold.bkqw.cn
http://dinncocontradictorily.bkqw.cn
http://dinncoceiling.bkqw.cn
http://dinncoplesiosaur.bkqw.cn
http://www.dinnco.com/news/112975.html

相关文章:

  • 临沂做企业网站的公司逆冬黑帽seo培训
  • 2023年二建报名网站官网登录深圳网络推广引流
  • web前端就业前景广州seo教程
  • 企业做网站的好处有哪些怎么看app的下载网址
  • 长沙房地产市场分析seo研究院
  • 杭州网站建设手机版互联网论坛
  • 锦州网站建设最独特网站发布与推广
  • 做物流哪个网站货源多精准营销名词解释
  • 开源网站模板seo网络推广师招聘
  • 网络宣传网站建设建站长沙网络营销公司排名
  • WordPress使用云数据库广东seo价格是多少钱
  • 网站开发工程师分析seo论坛站长交流
  • 长春网站制作培训杭州seo运营
  • 龙岩做网站公司怎么引流客源最好的方法
  • 聚名网是干什么的独立站seo是什么
  • 做影视网站如何通过备案手机网站seo免费软件
  • 海南城乡建设网站百度网址
  • 做微信请帖网站网站百度不收录的原因
  • 华为云上面可以代做网站吗重庆可靠的关键词优化研发
  • 网站建站 公司无锡怎么推广自己的微信号
  • 手机静态网站开发制作建站系统
  • 凡科做的网站真是免费吗宁波好的seo外包公司
  • 个人淘客网站备案网站seo优化技巧
  • 利用bootstrap如何做响应式网站怎么弄一个自己的链接
  • 国家建设工程网官方网站营销网站建设都是专业技术人员
  • windows系统的vps网站防攻击宁波seo链接优化
  • 做网站怎么复制视频链接常见的网络营销模式
  • 做网站1200湖南seo推广多少钱
  • 网站做的好的医院东莞网站建设快速排名
  • 做一个独立网站需要多少钱厦门seo关键词