请教:双核裸机程序,修改例程中DSP端的cmd文件,下载后... - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6737|回复: 12
打印 上一主题 下一主题

请教:双核裸机程序,修改例程中DSP端的cmd文件,下载后...

[复制链接]

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
跳转到指定楼层
楼主
发表于 2017-1-13 11:13:16 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
OMAPL138基于IPCLite的双核裸机程序,创龙例程中,DSP端的cmd文件中将所有的段都放在DDR2中,我想让程序在L2RAM中运行,所以将所有的段都放在L2 RAM中,编译、烧写之后,上电程序不运行。请教一下是什么原因?+ ^% o  s. U8 q& j
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
沙发
 楼主| 发表于 2017-1-16 09:14:20 | 显示全部楼层
我在CCS5中仿真,不管是在DDR2还是在L2中都可以正常运行。但是,按照15-3手册中的方法在虚拟机中烧写程序后,如果在L2,上电程序不运行,在DDR2,上电就可以运行。
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
板凳
 楼主| 发表于 2017-1-18 09:33:46 | 显示全部楼层
程序仿真是在windows环境CCS5中进行得,DSP端cmd文件中的所有段不管是在DDR2还是在L2 RAM中都可以运行。程序编译是按照15-3手册,在Ubuntu中进行源码编译,生成.ais和.bin文件,再烧写进NAND FLASH,在Ubuntu中的源码,如果DSP端的cmd文件的所有段放在DDR2中,则编译、烧写后,上电程序运行。如果放在L2 RAM中,则编译、烧写后,上电程序不运行。+ V9 k: ~2 R; n; X0 A
刚开始做双核裸机开发时,用TI的源代码则编译、烧写后,上电程序不运行。需要用创龙修改过的IPCLite中的源码进行编译、烧写后,上电程序才允许。对比过这两个源码的区别,除了程序中对IPC部分的设置不同外,cmd文件也有一些区别。所以,想请教一下,是否基于IPCLite双核裸机开发,DSP端的cmd文件必须按照创龙给的那样进行空间分配,还是有什么特殊要求?请赐教,不胜感激!现在程序就剩下烧写进NAND FLASH了!
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
地板
 楼主| 发表于 2017-1-18 14:20:38 | 显示全部楼层
human 发表于 2017-1-18 14:05
1 I  {% _, Q) N1 ]( s需要在cmd文件给L2空间预留一段RBL引导程序的空间

+ n/ l0 v- `$ F+ B6 g你好,具体怎么写这段代码?之前的cmd文件,将所有段都放在DDR2中,其中哪一句对应的功能是预留给RBL引导程序的空间?请指导一下,谢谢。9 Y. E1 N3 L9 n" Y7 l) U. \& N5 Q
SECTIONS
) P+ q- d5 K. P6 h{" w/ R+ G/ }2 X, h
        GROUP (NEAR_DP_RELATIVE)
! k% J. ]1 @0 E* D, }; a* X        {' w1 b: U# h  x* \) U& P% h" z
            .neardata
: j* \! z( v. y' L" @            .rodata
7 _, ?0 w1 p" R' v6 O3 a. D            .bss
5 P. D4 z( S  @$ U. t        } > DDR2
0 Z$ l& A8 j) d# I, g6 s. e  G
9 q4 Q% G7 a' F9 G" x+ Z" m  O2 ?3 ?        .cinit                >                DDR2                                // Initialization Tables3 P, Q' l, ^$ ~$ V
        .pinit                >                DDR2                                // Constructor Tables
( b8 `! [7 n0 A; h$ C( w    .init_array        >                DDR2) e; m0 `+ ]: l' m( Y) Q
        .const                >                DDR2                                // Constant Data
' p3 B0 M  x& W) v        .switch                >                DDR2                                // Jump Tables& D; [9 G" C, K! G  V
        .text                >                DDR2                                // Executable Code
+ g! H3 P) ~" f        .text:_c_int00: > 0xC3000000                                        // Entrypoint5 \( n. B# ?/ q& i3 b& t
        # X+ Y4 s( b: [' O6 }' E
        .far                >                DDR2                                // Far Global & Static Variables
* p1 M4 c3 V" T/ p  F        .fardata        >                DDR2
, z3 d* w+ T0 c/ U! K. l        .stack                >                DDR2                                // Software System Stack
4 ]) Z" `7 v0 p) i, s& z        .sysmem                >                DDR2                                // Dynamic Memory Allocation Area
# o5 l, r6 H0 _' U2 v, N) B" p2 ]       
/ C/ q6 r! E/ {) ~        .cio                >                DDR2                                // C I/O Buffer
) z1 g) T& c4 h# |        .vecs                >                DDR2                                // Interrupt Vectors
& p) ^1 N5 K1 z' v}
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
5#
 楼主| 发表于 2017-1-21 08:35:45 | 显示全部楼层
human 发表于 2017-1-18 14:05, m5 V; X& y! b3 d. a$ t; C
需要在cmd文件给L2空间预留一段RBL引导程序的空间
7 c  M- I7 u) C3 [( I) X# @3 m+ Y
你好,请教具体怎么实现,能给大概说一下,我自己查了几天资料,还没有搞清楚,谢谢!
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
6#
 楼主| 发表于 2017-2-7 15:42:40 | 显示全部楼层
human 发表于 2017-1-23 09:22
! t4 K3 C; n" D建议看看创龙的教学视频-CMD、启动烧写部分

- a4 g; ~: w  g% Y你好,我将cmd文件中的所有段都放在L2 RAM中,然后将程序起始地址改为从0x11800000偏移一定的地址,为RBL预留一定的空间。但是我不论偏移多少地址,编译、烧写后,程序都不能正常运行。麻烦帮我看下是哪里修改的不对吗?谢谢!' H+ R& f( }: T7 O
SECTIONS1 o% A" c# }1 }* G
{
; p( K% |% G  \* Y" U        GROUP (NEAR_DP_RELATIVE)" O4 H; A' H. _8 l2 @
        {& f" e" m; S$ ?" g. n
            .neardata
0 g0 D# u4 f. l+ Z& |5 s* n            .rodata
" a3 Q4 W  }9 L            .bss
. K5 G+ m5 ^6 ?* Z        } > L2
7 n" n- d9 [8 w/ B7 ?
  M' r) r; \  H+ h; H0 J0 U- G6 ?        .cinit                >                L2                                // Initialization Tables( M0 Y. h/ k! d
        .pinit                >                L2                                // Constructor Tables
5 y! `4 J( Z3 {/ Z: y    .init_array        >                L2
- z  P; V' z2 J- n! k        .const                >                L2                                // Constant Data  [" x2 T+ d, _5 ]- D# x0 L
        .switch                >                L2                                // Jump Tables6 y# [0 y5 B% p; `& Q; g, c1 w
        .text                >                L2                                // Executable Code9 Q; `0 `7 h4 B+ E) |: @# i8 ]
        .text:_c_int00: > 0x11810000                                        // Entrypoint
/ U% `3 g1 t2 ^3 b. A        
! _! L/ M7 T1 X8 N0 c        .far                >                L2                                // Far Global & Static Variables/ P% a! Y4 b8 j2 Y2 c, f# I0 b
        .fardata        >                L2* c$ ^: T- P" V8 U) W3 h
        .stack                >                L2                                // Software System Stack5 ?# `, S) }5 d& b7 _6 _
        .sysmem                >                L2                                // Dynamic Memory Allocation Area1 u' Q' ]5 V3 G) T2 w$ C7 T
        2 h4 y7 M( Z& g4 N  M% O  Y( c: V/ r
        .cio                >                L2                                // C I/O Buffer& V6 A! i0 n; K+ e! }! S! ?3 @- L
        .vecs                >                L2                                // Interrupt Vectors
; y: A3 s& A3 c4 i1 y+ w}6 V) Z( O5 T4 `
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
7#
 楼主| 发表于 2017-2-8 11:20:21 | 显示全部楼层
本帖最后由 lanteng 于 2017-2-8 11:22 编辑
1 J& p8 W* q! V; j- L3 d' s
human 发表于 2017-2-7 17:22
2 j1 r8 G. \$ \& w! d6 M+ L你添加了SPL引导程序没
4 C9 F4 E; M7 r7 z0 b7 S
你好,没有添加SPL引导程序。请教SPL引导程序需要怎么写,有参考例程或者资料吗?具体要添加到哪里?在视频中没有看到这部分,之前也没有接触过,请指教,谢谢!
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
8#
 楼主| 发表于 2017-2-13 11:32:48 | 显示全部楼层
human 发表于 2017-2-9 17:318 ]& C9 y4 M; B2 b  x0 g5 `
加我发你  2942385389
2 x6 H. |0 y7 n0 W6 E. o( ?5 x
你好,用SPL引导程序u-boot-spl-pad.ais之后,仍然是DSP端cmd文件中所有段放在L2 RAM中,程序上电不运行,放在DDR2中则运行。请教,是否需要修改u-boot-spl-pad.ais代码?我试了好多次都不行,麻烦帮我分析一下是什么原因?谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 18:44 , Processed in 0.042127 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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