程序的运行问题s - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5891|回复: 6
打印 上一主题 下一主题

[已解决] 程序的运行问题s

[复制链接]

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
跳转到指定楼层
楼主
发表于 2018-12-14 09:13:56 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 红线绕指柔 于 2018-12-14 15:33 编辑
! d- M7 c) n: S
5 Y9 y. J5 {1 q% N% {: x6 j请问一下,如下图所示我在CCS中进行裸机程序的开发时直接通过带边相应寄存器的值来驱动LED灯的亮灭,这样是可以成功的驱动灯的亮灭的7 R6 t7 C; U8 \$ Q
* H8 Q& B: ^! {
之后我将该段程序移植到Linux系统上,使用指令arm-none-linux-gnueabi-gcc LED.c -o LED生成相应的镜像文件,复制到SD系统启动卡上,执行镜像文件./LED为什么会没有现象?请问是缺少了什么配置?
: v6 R! J+ c$ g8 K9 s/ X/ d
+ l0 Y4 L! b, r+ {6 j

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
沙发
 楼主| 发表于 2018-12-14 17:29:27 | 显示全部楼层
广州创龙莫工 发表于 2018-12-14 17:14
: V& a9 |6 a6 V6 P6 O7 G* Plinux下用的是虚拟地址,应用程序是不能直接调用硬件设备的,直接操作硬件设备的是驱动程序,建议您编个驱 ...

8 \$ I$ G; l* s' m0 O* x我倒是知道需要编写驱动,主要问题还是地址的映射问题,就是在驱动里面如何来实现地址的调用,我看你们的LED驱动程序里面也没有相关的地址调用问题啊,如下列的你们提供的源码所示:$ u$ o9 `- s; ^( X
#include <linux/module.h>
4 w! ]) ~9 E" v8 u( t/ A9 t" W3 \) h; j& j5 `6 E
#include <linux/kernel.h>
8 ?) A& {6 A0 M, S7 J2 a3 @( n& T* @
#include <linux/types.h>
6 ~; j! `  E: }' G9 N' O9 Z5 h1 h# C( I/ M2 f1 Z' n
#include <linux/gpio.h>
6 \; X& a8 {3 M$ g( U+ W: W& D0 N8 J
#include <linux/leds.h>3 r4 @3 ?# }  V" N) i

& N, S+ w9 [- a: S2 Z7 o#include <linux/platform_device.h>
) a% z6 B( ?8 |6 \& I0 j
! V; @  k) k" L1 W/ v  K4 ?( L, X' H4 }$ p; u/ U9 a

* u  m: ]! B# |, y#include <asm/mach-types.h>8 Q: `$ t0 F% O8 V0 |6 V

0 l% x$ t. L5 L+ K#include <asm/mach/arch.h>
7 i3 [  q/ Y) O# R: Y! w" u& }' \
7 h* h$ ?' C3 m6 U#include <mach/da8xx.h>
+ p/ }1 c# j3 H# b7 n& {
9 U( h8 E9 O: s1 P1 X#include <mach/mux.h>0 u, n/ M2 l; s5 ^3 L8 e

# q& u3 Q. v' T1 [% t. b, V/ v8 k
1 \, P9 _6 j* }0 r4 ]& I0 h4 P, h5 B; P$ M( u0 V, d
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)
6 P& i4 N: z! a: P8 ^
! D, V7 D# }& E- P( x$ t#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
0 ^" h" X, T& T5 x2 e4 [
1 _: T; e& ~* l( Y5 a5 N+ [#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
' }0 a5 M. _; B: X" h7 W2 z6 i4 ]" B
#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)- ?, q0 v& V. @9 x3 r
2 ]' t! w/ y3 _7 k
#define DA850_USER_LED4 GPIO_TO_PIN(6,12). F# I1 [: n, q- z( v! R  a

3 u# q! i6 U$ [- h1 R+ M  f" }# Q8 k#define DA850_USER_LED5 GPIO_TO_PIN(6,13)6 H9 g; O9 t. K% |8 @% U0 ]; P

3 q% @( F0 s) S8 G' Y( U! D5 n
" s0 C3 E& y1 ?/ g
/ h9 x* p2 e# Q/* assign the tl som board LED-GPIOs*/
" ~5 a4 |& \+ K/ |# M
$ S' ~0 R' F- D$ k- C3 `, e* N. Sstatic const short da850_evm_tl_user_led_pins[] = {3 d8 a1 k6 I8 t! M8 W( [% ~

0 N1 y" O- w6 q: }1 w        /* These pins are definition at <mach/mux.h> file */& @3 g& W5 U* V7 k

$ p/ \& C/ B2 c: g, p: O8 L        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,DA850_GPIO6_12,DA850_GPIO6_13,: `/ v2 s% E( K' B' G1 k
! i7 f, I- D5 u: P- X
        -1# O$ z3 i/ V% n9 X/ q: }$ _

4 R* O. {, p: @1 |6 L9 V};# U3 l( A" ]' R( P1 o" {& b

6 ~7 ~  n; G- b, }1 Z$ y- @. X4 c) }( T) _1 `. a4 M
0 t8 h" f3 ?8 z# x
static struct gpio_led da850_evm_tl_leds[] = {
: D1 ?/ I, P: ]& P0 _! u( y! k& ^, U' U! z( V( S
        {
& t# E9 ^# ]. R. S
2 R0 C  T% N8 @4 [% n  s2 b# K                .active_low = 0,
7 }. L- B( W! O# [- W' i$ `6 X2 Q) t/ v6 c/ v5 r* ?. M
                .gpio = DA850_USER_LED0,
# Q0 M% ]4 ?4 ~0 `, i1 |! V
+ r( ~7 o8 J& b: E  P                .name = "user_led0",
8 j% m' x, i  r9 q9 _
/ y$ m4 r" F& J, @+ ^                .default_trigger = "default-on",! R1 {3 e% D, L* J' B! w
& i- V+ c* h  g- \+ j; I7 g
        },
5 S! q' I3 C: \# C* U1 k8 i( {
( f: e4 d9 q" I( j. K        {( ?& [1 k) M' a) u+ p5 E
+ t2 m: B# [+ C
                .active_low = 0,# F. N4 |8 S) I
3 G% B# W# r7 G9 e# S/ G( h
                .gpio = DA850_USER_LED1," B! c7 `0 b0 Y
7 n# g! U: w3 I: O2 L! N* z3 L7 n
                .name = "user_led1",
/ k1 l; O% ?* j/ w8 J+ U7 ]. D& h+ b. r( D5 y( @% b$ q
                .default_trigger = "default-on",
8 B  L' |7 b4 a- a3 X& z  U; u, J8 R9 n8 U: ]" |
        },
: p, M0 h" X4 X' k  h+ S/ y9 c$ ]6 C; h
* ?5 \, b* m5 D  y" d9 H        {" G6 R; P$ p# P  v
% v/ }3 ^3 y0 q: D! p- ^
                .active_low = 0,3 W- |$ i5 y' O1 G. b, a. m
2 Q( \. `, i* p: w% T  i3 U% N
                .gpio = DA850_USER_LED2,( _8 S1 U; d$ H
, x0 F1 _# x( O; F& T
                .name = "user_led2",
9 _) }; ~6 W0 g5 x
7 M/ s% K/ j0 T6 M# S& C                .default_trigger = "default-on",/ f$ {6 J% X, {/ |  c9 w
1 G# g, M' A$ T; \* _6 g  ?" B
        }," d7 U* m- r! j8 U. m6 Z% D" B" u

2 q5 i4 d0 \) j/ ^' z! c) T        {6 ^* `. y& E6 U

( C2 k( Q# O" t- i4 D                .active_low = 0,' ?: K! Q' m( C& Z
2 i+ A5 c6 t8 ~5 R
                .gpio = DA850_USER_LED3,
9 l0 c0 O+ }. n6 N% ^6 ]  U- U+ M, p4 \+ D% R2 k$ ^7 p$ L+ Z
                .name = "user_led3",: G/ p! x9 F6 B0 Y

" k( ?9 x' U! W1 o0 O: P- p                .default_trigger = "default-on",
3 ^2 G5 B. [5 h4 P9 e: _+ e: c9 N% z: \# ^4 y1 F8 F  b& T
        },  H+ v. f3 N; _8 A+ x

  l( D; z8 h& Q" N4 n        {
( G% T  O) \! x% o
* H; n! H. u- x                .active_low = 0,$ i6 ~4 w- Q  R8 s

. Q! |% [: q9 W9 y, c1 y& |+ g                .gpio = DA850_USER_LED4,# ?! e5 ^7 `+ _+ Y7 ?
7 M- r: a- f6 [" R5 _7 i
                .name = "user_led4",
9 I0 s* u% S) C- c& v9 W9 y, R+ I  |/ Y: v
                .default_trigger = "default-on",5 o: n- e( U1 }
& N8 e& X. O! a9 s3 Y! n& F0 ~
        },
( s% b5 ~% G! z* _, Y% R5 Z# e& K1 @" u& G% U4 D
        {) d+ ^% R! N9 p2 y
4 O; [/ D- P( P" T0 Z
                .active_low = 0,+ i+ v/ e4 ~3 h5 M1 j0 s
& Z! y  x) K' v6 x; V9 P/ D5 q/ Y
                .gpio = DA850_USER_LED5,
& y9 J3 L6 k/ \  G( ?% h2 b& s& ?
                .name = "user_led5",
' e; x" v7 z& e  A0 G5 l! |2 {
& m) H2 m( f( _" ]                .default_trigger = "default-on",+ a  h6 f6 u( Z- R

: G8 ]; ^  n, ^; L8 F        },% d; l3 Z0 C$ q6 U: E

! K$ X7 w, c' z6 z+ @};
+ Y+ R5 z% m+ M1 t  |5 Z& ^( u. N5 q- ]% M4 \: e$ u4 g4 l+ B0 q

( ~  p/ ]4 g9 m. g& z7 k( @& z+ A1 v; w2 R/ e
static struct gpio_led_platform_data da850_evm_tl_leds_pdata = {  p  k( S  ~4 I, C5 h0 O7 o$ D

4 l( g# F) z* d        .leds = da850_evm_tl_leds,
1 t$ B+ H; ~  s' `/ l2 k* z6 H
" I5 f! H# O& w) b        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),' z2 m; d) }! {  o) X
3 S  G# J5 ?( i/ |0 c6 H
};
" c2 X+ C4 k  i7 h% A7 x" Z5 c2 v4 |7 O' n* D, |; q% _; b& Q1 [

: `+ O" ^7 Q, @1 A% r% ^9 C0 n
- }+ c" P. A3 [% a" [$ j, [static void led_dev_release(struct device *dev)
! X* o; t" V# S- U5 [, ~" V7 p1 R& d; N3 }" ?
{# ]4 e) J! \6 ~, L# y
: Y& {5 c( k% B1 z4 }7 l
};
$ \4 O/ ^, K( ^
" o9 P- X8 m0 Z2 ^. k- W4 Z" c" h( a, l6 t$ N0 c3 t$ h" P
4 M3 c. |% v. q3 w. |
static struct platform_device da850_evm_tl_leds_device = {9 g# H1 q  {5 e) H- u
" [* ^/ d$ ?  e
        .name                = "leds-gpio",' U# I) q3 b. w& E, p! l

+ M! H2 [* y4 ~; `8 W7 T$ a8 n        .id                = 1,
, z- ^5 T. L* m* e5 `5 t$ q5 ~
( O1 z7 b$ u5 C/ t  t5 ]# \5 n        .dev = {7 L3 z# T: K) Q' {% Q
& p# K" ]7 J. H3 _1 r
                .platform_data = &da850_evm_tl_leds_pdata,- X" D6 j" Y) i/ B5 v# f. f  ^
& H- i9 ?5 ~/ A  L* x; P& F7 {; x
                .release = led_dev_release,
3 K: H8 g& M2 \. F" n8 ?2 L% `# z: F# b. J/ b" Z' ?  q0 u& Q
        }8 K' }0 U1 j( G2 s+ h/ y* O
2 s$ Z) }" W) o  G) \
};" ~# k+ N" o2 q1 m/ T! o
+ |# ?( y3 ?* g5 C1 z5 ^
2 r2 m$ f- Z) l2 W) M
7 e0 ]' ]0 b1 _; m+ o, f
static int __init led_platform_init(void)8 G5 I! X5 l, w: P2 o0 r

' S5 ~; ]4 C2 @4 U/ \8 b  `3 k9 |{$ z  k: }# q1 z! l8 a) f
2 h% h9 t7 O# u. ?% |5 `- K
        int ret;
* X! T  Z3 c7 i; k  S7 b% Y2 C2 Z/ e4 X0 h$ V) l6 L! g
#if 0
, I8 e: R& T, o8 s! r, r* m8 n
        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);5 P' q; p$ A, J- J$ W' W' k
$ t$ ~/ L; N# c/ v6 I
        if (ret)
) U: D9 d) f4 x, D* B
- r& H5 ^5 ?* R% r! B( }                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
5 W# F' u* j* O4 a% h0 m7 ?3 P  G& {6 m
                                "%d\n", ret);
) }) z! H( |% G! P9 T: e8 A& p: }# w2 ?1 p. J$ n
#endif
7 m3 [* M4 ^4 ]/ b" ^
  j1 h  I! f& Z" K        ret = platform_device_register(&da850_evm_tl_leds_device);2 K9 ^% g* A) N4 [+ l9 w
! H% D: {4 p" {$ S% ]' w
        if (ret)# _2 j4 m, A( s$ x3 j
5 e3 }' Q2 O# R. Y! x$ T
                pr_warning("Could not register som GPIO expander LEDS");
& |) h1 v# _* K& ?- V
* U8 E2 E7 X# r/ q- S% e( r6 c        else6 ^! S1 \, ^  H& D" a) n) U
; P4 y1 F3 [* I$ c
                printk(KERN_INFO "LED register sucessful!\n");* y) q  X, f, Q) v2 o! n
; q" R* e) q4 ^) a# M% @

. ?* I0 |* S% y0 E4 q
& e, t' H8 u! e: e* Z% r$ ~        return ret;
3 U0 L  g# F$ O- d- X0 G8 x! j' ]0 B" |* a- n
}
8 U2 _* C! \* k1 V1 u+ z
8 o! o7 w2 [9 v. N! X
; }4 V/ S6 J/ W  ~% ]7 Z) E5 S/ E" \/ ^6 {) J" C
static void __exit led_platform_exit(void)1 v) v0 G# W, r/ o' C

) V" v: T4 U, j& t- ~) S) {& p3 s{& _" s. m& P; z9 O% |- S2 H
& ?' e& o" L& S$ j+ [
        platform_device_unregister(&da850_evm_tl_leds_device);' ]2 V: ]7 W8 ~! {" z. `5 {
2 ^8 ^6 g; W4 D9 Q

, u0 s1 L2 X7 d( a
) p3 z# ]( t, H) g1 ]* U* L5 d        printk(KERN_INFO "LED unregister!\n");
3 g0 H; [, D  K6 @8 f- P
6 {8 o9 q" Z+ _/ x4 v}% j" W" V7 [! T1 W1 e5 n
6 i: K) q8 L- u3 y& O
( h+ ^% x/ |( r% B- D  }9 ^
$ P0 A6 V  b5 A6 I& w
module_init(led_platform_init);$ R' A* n8 ?5 a% V3 R! v
7 `! S4 u5 ~+ n7 o2 y$ n6 V
module_exit(led_platform_exit);3 D4 W7 B8 }( l# O5 z

. N% b1 \5 j! A) x* Z, O3 `
) y/ Y& m, Z9 s  }- ]) s. [9 W$ x+ z: p- ?; j' O: Y# {
MODULE_DESCRIPTION("Led platform driver");# C/ w  E, m: c5 A

& m! p+ S3 T; _: P. v# o9 K1 S7 MMODULE_AUTHOR("Tronlong");
- X5 p7 ?. x( G" T4 z8 \* A, ]2 p7 c& @3 F4 a) M7 O
MODULE_LICENSE("GPL");
回复 支持 反对

使用道具 举报

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
板凳
 楼主| 发表于 2018-12-17 11:32:31 | 显示全部楼层
广州创龙莫工 发表于 2018-12-17 10:32
8 u" v) A& e& e7 V您好,程序里面已经在系统配置寄存器那里配置好了管脚配置,已经对应上相关寄存器的了。
4 e- |+ p, L" x ...
3 Y' Y8 w. M4 X2 m
好的  谢谢回答   我自己再好好研究研究吧
回复 支持 反对

使用道具 举报

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
地板
 楼主| 发表于 2018-12-17 17:29:12 | 显示全部楼层
额  还有这个视屏啊  早知道我就不会问这么多了 谢谢提醒啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-3 07:45 , Processed in 0.042621 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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