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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
跳转到指定楼层
楼主
发表于 2018-12-14 09:13:56 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 红线绕指柔 于 2018-12-14 15:33 编辑
) O. Z+ X, Q3 E  C7 i$ z: X5 z
& P* Z9 y# Q) I7 R9 C6 |* c6 l请问一下,如下图所示我在CCS中进行裸机程序的开发时直接通过带边相应寄存器的值来驱动LED灯的亮灭,这样是可以成功的驱动灯的亮灭的
0 j$ r' X+ R7 ^, @! N
2 y9 \, b8 i% ^* ?/ h之后我将该段程序移植到Linux系统上,使用指令arm-none-linux-gnueabi-gcc LED.c -o LED生成相应的镜像文件,复制到SD系统启动卡上,执行镜像文件./LED为什么会没有现象?请问是缺少了什么配置?) t7 T, b8 I+ j2 j

9 ?) y: Q4 I. Q: F

本帖子中包含更多资源

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

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

使用道具 举报

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
沙发
 楼主| 发表于 2018-12-14 17:29:27 | 显示全部楼层
广州创龙莫工 发表于 2018-12-14 17:14
6 F& G) y3 U9 i9 N7 h: Xlinux下用的是虚拟地址,应用程序是不能直接调用硬件设备的,直接操作硬件设备的是驱动程序,建议您编个驱 ...
% k' {6 Y8 a$ x9 R
我倒是知道需要编写驱动,主要问题还是地址的映射问题,就是在驱动里面如何来实现地址的调用,我看你们的LED驱动程序里面也没有相关的地址调用问题啊,如下列的你们提供的源码所示:0 A( N* m' j+ N% q8 }
#include <linux/module.h>
6 h% @) V' ?9 p. z7 O# B, n5 y( ?9 o3 N+ Q7 S* l3 U5 J7 @& z
#include <linux/kernel.h>
  ?1 m3 X8 O3 e- v# A! v9 {, }6 v5 E& T8 \6 D" {* B) c+ E
#include <linux/types.h>5 }( Y' u: O. |8 s1 K2 N

. A! h7 k8 ^. b. b+ b6 Z8 v+ K#include <linux/gpio.h>$ j1 ?; T# i' [3 o. Y7 M6 |

8 j/ _2 V2 ?4 y% `5 E! ?5 m#include <linux/leds.h>8 Q4 Z: ~( t! x4 A; t

/ D6 V, @) j8 P5 u& j% v8 @; x#include <linux/platform_device.h>+ N) H, u. C( |4 f

) F( h2 c/ C7 ^. z1 v8 _
( _* A7 c6 h, o2 P. j$ z4 k( s0 s
#include <asm/mach-types.h>: b' v4 _1 O+ R0 {; P- g0 \

5 f5 F* a' n) U  N& g#include <asm/mach/arch.h>
& E. r6 k" I! T' i% T5 [& |+ ~) i# G# t! W6 z
#include <mach/da8xx.h>- [0 A( A7 R  C+ I

3 V; s4 i/ ~' u#include <mach/mux.h>1 R0 Q0 f1 V+ n& \
( t9 f/ n9 w' i8 ?9 e1 S

6 m1 e1 r4 T& g) \2 U
( k( M' b8 Q; m3 M( _' A. y) H0 e- \#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)2 k$ ?6 H5 O1 ^" r) C
& K+ W6 N% j2 ~
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
3 T8 P( \' `/ N* [& H4 o* k
+ s6 }8 N8 f5 h# l# B  a#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)2 Q/ v8 k. p0 L* X# \; F1 F: @; ?& p

4 [$ f% D# U; k0 B#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)5 }/ _- I' C2 G* C. p: X  _$ |
4 R' \5 w1 v1 b6 O  |
#define DA850_USER_LED4 GPIO_TO_PIN(6,12)+ k! P: A, O2 \. u

( ^( i  X  H# _) o% P! y#define DA850_USER_LED5 GPIO_TO_PIN(6,13)
3 Q7 N; i; q8 l+ m8 Z( c6 v( m. J! w" k' m8 ]9 Y6 a0 ]# u- B
0 W9 c- m9 s& M$ t6 L7 d

( _! i& ~( O* m6 a% r0 t% Q$ Y/* assign the tl som board LED-GPIOs*/
7 ~' @8 R' ~, t
2 h% E; Q# r4 r9 b. o& Ustatic const short da850_evm_tl_user_led_pins[] = {0 V1 K' l! L3 X. r/ Y

4 X, s9 L9 G7 W( X' [: p8 H2 {        /* These pins are definition at <mach/mux.h> file */6 E9 N/ c! t* j; R0 w$ g; D
% x! y" h. V% ^  O% B+ g- z0 u1 Q+ D9 H
        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,DA850_GPIO6_12,DA850_GPIO6_13,
8 {4 B' j! r5 _+ O% t' J: V, [$ l/ v9 j
        -1! u0 X  W3 A0 l/ p4 H7 h* H: M
4 W2 W* S5 V+ t6 `- k
};
7 V5 U: m; J- c3 k4 k. Y9 f1 h' T
$ o! V1 H& ^" |5 Z& w) l6 U
& v7 U% {* L1 z1 ^
) L$ A# L: v1 astatic struct gpio_led da850_evm_tl_leds[] = {
7 b% f! Y; Y- l" K
3 c. w6 ?3 u& m# ?# c5 ]2 {- P        {8 T. H$ w8 y- l6 }# g% f& A
6 O$ c! N) j5 b* l6 p2 T9 _1 x1 `
                .active_low = 0,
4 \8 A, H- {. e6 _1 k1 G
  P4 O' P& o( @5 y                .gpio = DA850_USER_LED0," Z8 `5 F* [: Z; n2 N2 _; W
2 s! ~* d! c9 n6 s
                .name = "user_led0",
; y+ f0 M; A! V- s' F: j8 l; G8 p2 M/ z
                .default_trigger = "default-on",$ e- H+ F6 r4 g9 A) ~( p* C
/ C8 m' B0 \: I# U- y2 N0 |
        },
8 O6 D3 \/ S+ p0 Q$ F& m$ \2 B9 a* x+ D% m* r/ l* B; {
        {
) e* `% K# T/ x# g+ z  z6 h7 N+ c' ^
* e" R% S! b, t# h6 R' m) q6 ~                .active_low = 0,
- Q5 x) I$ I1 v6 a5 g+ f
# s  j# B& i. m! _3 E" @                .gpio = DA850_USER_LED1,) Q1 X: d5 s0 O  m5 e4 ~  x

' `" u8 r- c9 f/ c/ W                .name = "user_led1",  \+ L$ ^% G: z$ x+ p, G' @5 u% s

, w' Q; J7 h  P9 H' o" T4 ^/ \                .default_trigger = "default-on",
( Y- W4 a4 i/ Z) l8 k7 f9 V, H: Z. m. x
        },
/ t+ d  Q: t* V
9 j$ W7 }. q+ D* l2 x- h6 I9 ]        {
' q9 k0 @9 ?& @- g: S0 W/ I
7 j- x) H  C6 i& [( h! a; W4 o                .active_low = 0,( ^% H, z2 d8 U7 Q% t+ u% o2 c' @

& A. R9 u) I4 V+ g7 [& d( t                .gpio = DA850_USER_LED2,$ [- W, H' H' Z6 x

7 W2 H# r5 h8 i" x, G( M                .name = "user_led2",
% \1 p  r9 Q, C7 Y7 u7 P! H; ?
3 s3 i) S( F% |; J& n, ~' @3 D3 c* }, V$ Y                .default_trigger = "default-on",
9 ?+ M) h- T5 q4 y% x
" \2 w# S( F( b0 n# s3 P        },3 B- `+ f. b1 S$ N# Q$ S5 h8 P
3 `* j( g( Q: D; ]" p+ f
        {
& c+ p0 L) P1 o
0 |- K7 b+ z7 n5 {9 `8 w6 R$ M                .active_low = 0,7 }3 e7 a$ q* q- Q$ E7 G3 F! C

! m0 Y: \' W) s1 \                .gpio = DA850_USER_LED3,; P5 B% ~. r$ E5 b3 O  S. {% N
+ S: R7 i& ?8 q. y  s9 o/ k
                .name = "user_led3",
$ Y/ G* D2 t9 I- f" `4 }$ L' H" I$ v1 v' c# p/ i/ x+ a' T: f# `
                .default_trigger = "default-on",4 G3 ]& r6 Q* ^% X  k
' z) y% n& \$ c0 A! P' B
        },5 z. g' D, W/ L% y. Y

/ N% T+ a. h# |7 f  S! M* K3 s        {5 b, _; _" F) {# ^- Y

" g  M4 ~" {  x* w                .active_low = 0,
- a# Q3 d/ K# r9 I. ]+ P+ n& t
! }- u0 m5 i9 Y) r* }; I1 c- h4 L  _                .gpio = DA850_USER_LED4,
" ]$ F' _: x4 M! t. d1 y! r7 l
- |% j% {6 k8 \4 i6 _. L1 s% {                .name = "user_led4",
7 {' O- Y& a" o: V) j7 {5 r
  l! Q1 R$ ]3 Y4 D* y                .default_trigger = "default-on",. C7 t4 z/ A: i% S8 l% J9 ]
+ X7 x0 E% {! O& \
        },
* T/ J4 U5 L# a5 |2 {# c$ V9 W% [* Q- j7 e) O
        {/ Q8 g+ h* C( R/ [# R

0 p# x$ M  R' {3 ?6 M3 }* v                .active_low = 0,
4 T: f) T5 E' J0 W! U5 n- o
+ C0 O8 H$ t7 m$ f                .gpio = DA850_USER_LED5,
0 M; t0 t: d! Q: u: k
, h; D/ Q0 S, i                .name = "user_led5"," x+ w  \$ Q/ J& o2 M3 u' Z
8 D/ f% A9 q- m$ P' v4 l. r
                .default_trigger = "default-on",
$ ~0 A& v" H  g" g. [3 V8 E
+ \( v- u. J% U# l$ e        },
: x& c9 W1 x7 g0 t
+ y% w' }: `" w};8 j& V3 F2 d/ x* O; D' t

; _' ?- H1 _2 v9 W6 C
: X6 s4 G# K+ t! P$ z* l/ s
3 J$ _5 m; N9 X/ }# R# h0 `- f: ~8 G6 Fstatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {# S2 _% B3 s, g! o8 P, {
' P, T2 P4 Z6 o* `0 b
        .leds = da850_evm_tl_leds,% q9 k! l' Y+ G7 R+ t6 d8 R

& k3 g% j- k8 x) _' X0 D        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),7 O& p; B* W" M' H

/ c: ?7 H" ~0 \3 N  m, f};- {  c$ M8 V1 p: X! S
7 X4 ^: o9 l" a0 e0 o' T2 q
+ A% O) J7 |* _

$ U; j  m# W6 [# ~$ O  b  |static void led_dev_release(struct device *dev)! ?, i. _8 }" n  q1 C

9 e2 x9 a7 N' Y: Z{, [  D5 E. \! K. ^6 W

! w8 s& `7 {8 r9 Z1 |};9 d; o/ U& Y" f% d. A, }# R. f4 F
' e' X6 J- |& B) A( `4 N" ^

+ e) q3 _6 x* U2 Q" r
( I+ y- L  G6 m+ C4 P7 Ostatic struct platform_device da850_evm_tl_leds_device = {
2 Q  ^* s+ m+ w0 S6 W. s+ r8 A& Q# c
        .name                = "leds-gpio",6 R2 F8 y8 S' N
- \: Y! Q  A8 D& }1 s' _
        .id                = 1,
+ M' M6 Z: g. s  Q
6 x, d, n3 z. E' b/ A" ^        .dev = {
. {1 C, n8 f# N, B) h" v/ |4 G( q  }! _/ b
                .platform_data = &da850_evm_tl_leds_pdata,# t+ B5 C7 \8 K9 S

$ W; c; b7 h9 S- |6 C                .release = led_dev_release,
4 F  v* N; u) K
8 `) ^9 J2 k% [" ]% V6 s        }
; K' G9 a; l( t/ i: m
3 \! t/ m: n# M};1 h* K" o( A& g; x8 t! Z4 u; d

& ], @2 \4 ?* u2 n
% o! P8 x8 ^1 K2 K1 C7 o8 N; |* L2 K; y4 t* c. f9 N
static int __init led_platform_init(void)/ s3 w: U$ P6 {6 j( Z: M, l) U9 q
! P% b2 [/ A6 g' p# C4 N4 T
{
( K% b0 _9 R" H  v
- }4 Y- S% _; e: r7 s        int ret;
$ m3 v1 Q5 m7 r0 N2 \
3 b( K: ?7 G* S6 E#if 0
( a* i0 v$ u7 ?0 u1 S
" }8 n- s6 \$ t$ A) r9 }        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);& X/ d8 Z) {9 y! o" q! E
4 C3 O9 Q1 H9 N# B
        if (ret)
8 i" F0 d  i& O* K
6 k! u) `9 l* I9 d/ N7 w                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"3 O# j# L8 t9 \2 y9 E' N) ~

% K/ R$ g% u3 _                                "%d\n", ret);
4 }5 R, k6 t. u+ d1 p3 c, P9 W* {" G* n3 c/ E2 g
#endif
6 g3 S* ^/ C( l; W, F! R. l0 S0 S6 d: ?) L! ^- Z3 A
        ret = platform_device_register(&da850_evm_tl_leds_device);
/ t' g5 f, N, E* [! J& _+ n9 A0 q! G  N; x& W
        if (ret)
6 M8 \6 Y3 Y8 c8 r- X* Q! u
8 ~' G- V  t& l3 [3 r6 O) B- d% v; v5 `                pr_warning("Could not register som GPIO expander LEDS");/ q  Q& x+ m# T7 d6 B7 Q! i) P

, h% |' Y0 L3 y% z; \: g3 B        else' M3 y1 z. B5 W

2 `1 _5 u5 I/ N  V7 q; w                printk(KERN_INFO "LED register sucessful!\n");+ n1 v6 N/ p5 @
, k. _6 x! Y, p6 Y+ ]; ?
; c% x; h" A2 k0 Q
4 _6 ?4 A& ]- d+ D
        return ret;( o/ [$ q7 A. F4 x1 M
. Z7 i/ ?, y' y
}6 `8 H3 ~& h( G1 {$ y) g( }: M
) l. K/ j$ \) W% n

4 \4 n" _7 [) M5 z) k+ _. I7 i. l1 T1 \. u+ o  M
static void __exit led_platform_exit(void)( i3 p& T/ s" _% t1 o
& T3 ~5 w* V! I/ m: ]% m# a- Y
{
4 V5 g" e0 a4 T$ `: Q9 u5 ~. ~6 H
$ A+ S! R- |' @1 u8 g        platform_device_unregister(&da850_evm_tl_leds_device);% T& y& I) o8 ]7 c9 J7 i1 e, z
2 s9 M' n/ B& S/ P0 J8 N  \
4 w8 b0 {& _8 G4 @

* U0 N6 I5 a0 ]% T        printk(KERN_INFO "LED unregister!\n");7 v2 T7 W2 r& N, k! |4 l0 C

) W$ c  q! u6 e}8 {9 M. e3 Q2 }7 S# s

% E7 z3 z2 X( {9 z
7 D9 E$ G1 w. I3 _
$ _6 {0 W( Z4 p* H8 bmodule_init(led_platform_init);
+ Q$ P; S6 Y5 V: @' J
! f/ u8 W2 D2 O" Amodule_exit(led_platform_exit);
) E) t) U3 |  j. H" J
3 ~& S: J, A& T" W6 Y0 R/ {0 A; k, m! V* V! u& F

  M+ M1 c+ t9 R! z& J, Z! LMODULE_DESCRIPTION("Led platform driver");- _6 c* T- I  o

! k6 D. f3 Y9 u8 {4 e  dMODULE_AUTHOR("Tronlong");& N0 [/ G- V  }& g/ x9 r  f
) _) c, h# @- E( I- ^) D: B; O
MODULE_LICENSE("GPL");
回复 支持 反对

使用道具 举报

40

主题

93

帖子

530

积分

高级会员

Rank: 4

积分
530
板凳
 楼主| 发表于 2018-12-17 11:32:31 | 显示全部楼层
广州创龙莫工 发表于 2018-12-17 10:320 \4 J4 K  r, \  e
您好,程序里面已经在系统配置寄存器那里配置好了管脚配置,已经对应上相关寄存器的了。, A5 g% w" R* D
...
" C0 h# U- h9 ]1 S  u1 a0 C
好的  谢谢回答   我自己再好好研究研究吧
回复 支持 反对

使用道具 举报

40

主题

93

帖子

530

积分

高级会员

Rank: 4

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 22:48 , Processed in 0.042001 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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