找回密码
 注册
关于网站域名变更的通知
查看: 383|回复: 1
打印 上一主题 下一主题

linux驱动环境搭建

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-22 09:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
编写驱动前,理所当然的,我们应事先将环境搭建好,废话不多说,直奔主题。" l' \- ]. a% |6 u" R2 y5 B

7 t( H# g% i8 c# V9 R1 h: M环境的搭建:
9 z& R/ F5 @( I* D) ?
$ s6 R' i6 e( E# o9 x1 F% t, N一、开发板使用TQ2440
. H; h% t. B) g/ M, G# ~0 ~) L3 d( n5 d3 i
这个没什么好说,去购买一块开发板即可。
2 S3 `$ O5 B& Y/ |  n( Y  Y6 o; }# j9 n9 b: L7 @) H
二、linux的版本为linux2.6.30.4(以后再使用linux.3.4或更高)
+ ?, o; g* n2 a3 K4 q, }- T: p' i' \* a1 b6 \) @# a
linux直接使用天嵌公司提供的zImage_Q43_2.6.30.4_20100531.bin7 H( P' q7 f8 l0 z0 D

! a  d; M# k$ ]! c三、搭建uboot环境参数
$ W! |  Z. J- Z- t0 O' Y; k6 S- k9 u5 `
烧写uboot、linux镜像就不多说了,参考天嵌使用手册即可。这里要说一下uboot的环境参数,因为我们在开发驱动肯定要使用NFS文件系统。要想使用NFS文件系统,需要设置以下几个东西:
/ n& ]9 q7 M" {6 [' g8 ?" l6 U" a' \! g, ]1 M
1.前提已经将uboot、zImage烧写到NAND FLASH
4 p5 {6 X! q# i2 l1 H- o7 X/ d9 j5 V: h7 R
2.在NOR FLASH启动方式下(当然NOR FLASH要烧写有uboot),在uboot的菜单栏下,选择0设置uboot环境参数,具体如何设置,请看图解:
' T8 e7 T% Z( M* s# @! ]/ o4 h+ s/ y/ t2 U
a.  在NOR FLASH启动方式下,在uboot的菜单栏中选择0设置uboot环境参数9 s/ X4 a) ?1 ^- d+ Q( w& s# p
3 Y) i1 a7 I. _9 ^% d* c( O+ ~

0 U% T. H& u4 _  v* a& R1 r
" U8 S! `, _' D, v. b  Y1 L2 i2 ]  X, T( f4 i
b.选择1,设置为NFS启动方式,具体参考如下图所示; K! L( s- t& j5 g( n

/ I+ U; C2 ^3 X( I- m% ~
( V1 i+ {4 g! q- ~
* y. G) [1 l$ n$ {/ e  @" J% {$ b9 ]$ y7 U% t
c.设置完成后,切忌要输入 s ,将环境参数保存到NAND FLASH中,否则功亏一篑。
0 _' e  V: \2 H4 X- c  i: T
* h$ g# u& {+ {3 q
+ j# y  r5 h) y/ |" D6 Q$ h  _( M  ~1 A0 y) y( k$ ^: @
* d3 e8 S2 u1 E8 M- S7 h/ y6 s
d.设置完成后,回到uboot的菜单栏后,两次输入q后进入uboot命令行,查看一下uboot的启动参数7 ]& _1 K' T3 |0 R- V  k4 n
2 @$ X2 u# ^% b0 r) m6 C6 ?' i

% y& \: B: o9 D* D" b, ~5 G
3 j6 d0 P! \5 U2 ]: z0 E5 Q  U+ x+ {: c5 L5 u
发现启动参数为:
: {* A% d$ w5 V7 Q& O0 l5 F& k
bootargs: console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.123:/usr/src/root_2.6.30.4 ip=192.168.1.110:192.168.1.123:192.168.1.110:255.255.255.0:SKY2440.embedsky.net:eth0ff+ _# h8 R8 G$ _  w; [
! [2 C7 W9 M7 Q+ I! J
并测试开发板能够与linux服务器进行网络通信。
; [1 s! Y; c" |3 k6 S) F3 \$ ?) d  J3 C1 e) T, S8 N8 R+ E

) F7 Q4 ]+ X/ {. X. Q0 U# Wping测试注意事项:
* n" P& h( a5 y4 K. s/ t
0 B8 ^: {2 ]! G& `# q1.确保linux服务器能与windows之间互ping通' W" H4 k7 l& `

5 r6 Y" i' U0 E; }* w2 c7 j2.windows使用wifi无线网络时,开发板不能只用交叉网线与电脑相连接,这样开发板最终不能与linux服务器之间互ping通,必须将网线一端连至开发板,另一端连至路由器或者交换机。
; n7 \; U9 I0 j* t) R/ Y( d3 H$ V( m( n

# d& T# ?* M. m6 [: XIP地址设置的注意事项:
2 P9 _$ }9 x) B0 r5 t( ]. Y
2 J& `2 o; N; T; Z0 B5 j如发现在uboot菜单栏中设置ip地址无效,即在uboot的命令行下发现ip并没有真正得到设置,那么需要手工进行设置,如何手工进行设置?5 |$ J7 z$ x: _( u4 S

/ o5 a4 p; H+ {EmbedSky> set ipaddr 192.168.1.110+ g" e+ Q/ S/ _2 J8 \: h& V
EmbedSky> set serverip 192.168.1.1238 o' l. x' Z! M( X5 [
EmbedSky> save
4 \& i3 N. I! I; I5 ]6 J6 U/ ]1 P8 M
% Q1 u( K/ G9 c, L3 M
四、linux服务器的环境搭建
2 D- C  ~  x" s, _, l! S' V  e
/ v  A& _: z3 J* |5 B* `1.设置NFS文件系统共享目录
2 K) B( F  Z8 i
/ z# N! [; O3 m在/etc/exports文件里添加如下内如:
. A4 A% I! W$ ^5 g& S
! N/ w. Z& Y2 C( L4 D9 }/usr/src/root_2.6.30.4  *(rw,sync,no_root_squash). e+ T. G" D8 E7 E
+ x- K  i! U- G& Z# a
2.开启NFS服务器# R$ G5 s6 _0 _: h$ B
" ?3 Z1 u$ n5 W, p$ p7 ]
/etc/init.d/nfs restart
2 l0 m" H" ]! B$ U7 H2 l
( b; U+ E& O8 P$ H正常的启动界面如下:' I+ l* }' C5 R

, H1 T  M2 r1 y; j. J; g
2 |: C; S( X, n4 q0 p/ P" B0 N9 k$ E4 w
1 }5 c& X/ n! M5 b$ b
五、解决error
  `. A0 q3 N$ m% j
' b: O# A* C3 Y7 x; l# s4 o7 N5 i; s- s; I+ K$ x' i
BUG1:
, q7 C+ T$ [! e+ r, f, y
: E! s$ U4 Z( {8 r8 r  P8 u1 h
) V% h3 W9 O) ^' e' f6 v! {3 F2 o$ V
  R. |5 i0 B7 h
IP-Config: Complete:, f. p$ Y1 |( ~+ X
     device=eth0, addr=192.168.1.110, mask=255.255.255.0, gw=192.168.1.110,0 I% Y8 y: k; P9 j$ N) S
     host=SKY2440, domain=, nis-domain=embedsky.net,
/ r. C- K% y& I* ^/ M4 S! \/ m/ o, G     bootserver=192.168.1.123, rootserver=192.168.1.123, rootpath=3 l9 T7 ~. c( Z
Looking up port of RPC 100003/2 on 192.168.1.123
: V+ D! Q5 O3 \: X! G% s3 D2 M
3 h+ l. O4 C+ y% G
0 j6 u/ {% q. W+ [+ R# Q如果开发板启动卡在了如上界面所示,那么表示无法挂接NFS文件系统,可能的原因:
6 m) E$ x% r3 X) B5 p* W4 N
" N5 s' f& w, k1.开发板的网络有问题,开发板不能与linux服务器互ping通, h+ O3 Y; P1 w! m6 B# M

# V/ g; ?% _; G$ Y: z5 {2.linux服务器没有开启NFS服务器
; {$ D5 |& _" J( M" x; m9 ~4 ]
; H$ i. W: F2 p% _3 I* C3.NFS文件系统的共享路径有误
( n- {% @5 C  y4 ?" I8 ^! H
. E% |  }* G6 z6 k4.防火墙没有关闭1 G1 R5 V9 u3 s4 Z: G: ]" r9 q
) f/ ]) ?: s  Q+ i( e5 D$ q9 h
0 }' s9 z8 [, {0 h2 B0 [. \
BUG2:
8 F" X% O$ g- J3 O) P
# }5 M1 K+ w( K( E, j能够启动文件系统,但是30s后,linux又自动重启?0 H+ o& X4 S' U
  M  D' r! y) x! I: m; q
原因(很明显是看门狗的原因):
& o$ W. n: S& a* T  o: P5 U" |% ]7 {/ ^
因为天嵌制作的zImage内核里, 没有进行喂狗,而使用的文件系统大部分是我自己制作的,里面并没有喂狗程序,所以我们要拷贝天嵌的EmbedSky_wdg到自制文件系统的sbin目录,并修改etc/init.d s/rcS                                    
. Z4 y, e/ D# j) }2 G5 _: O6 O9 O$ Y. M' a" l2 N+ O
在etc/init.d s/rcS中添加一句:
0 X4 P( u5 m' ?
  ?% x# O" R* ?/ K8 o% ^5 b: P* IEmbedSky_wdg &. J$ P  ^4 H& t
, e/ K  M8 m; O& ?  [% s8 i5 \
表示启动看门狗,自动喂狗,这样linux就不会自动重启了。
1 B5 ?) u9 h  k, S
) c9 C" d, E( E; ]: l  l1 s. G7 `5 J: f* N

该用户从未签到

2#
发表于 2020-4-22 13:27 | 只看该作者
linux驱动环境搭建
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-2 11:02 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表