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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

12

主题

43

帖子

199

积分

注册会员

Rank: 2

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

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
沙发
发表于 2017-1-13 21:18:42 | 只看该作者
修改CMD后仿真是否能正常工作
回复 支持 反对

使用道具 举报

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中,则编译、烧写后,上电程序不运行。
% ]* b$ E5 J0 i; n, w2 Q! i9 ]* \  U9 K刚开始做双核裸机开发时,用TI的源代码则编译、烧写后,上电程序不运行。需要用创龙修改过的IPCLite中的源码进行编译、烧写后,上电程序才允许。对比过这两个源码的区别,除了程序中对IPC部分的设置不同外,cmd文件也有一些区别。所以,想请教一下,是否基于IPCLite双核裸机开发,DSP端的cmd文件必须按照创龙给的那样进行空间分配,还是有什么特殊要求?请赐教,不胜感激!现在程序就剩下烧写进NAND FLASH了!
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
5#
发表于 2017-1-18 14:05:53 | 只看该作者
需要在cmd文件给L2空间预留一段RBL引导程序的空间
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
6#
 楼主| 发表于 2017-1-18 14:20:38 | 只看该作者
human 发表于 2017-1-18 14:05
* `( N2 a! A1 @+ Q$ k需要在cmd文件给L2空间预留一段RBL引导程序的空间
9 I% k: k9 L# L
你好,具体怎么写这段代码?之前的cmd文件,将所有段都放在DDR2中,其中哪一句对应的功能是预留给RBL引导程序的空间?请指导一下,谢谢。
* L6 f2 a) _; }4 M: S# q" ASECTIONS; f! r3 o+ \: @
{
. `9 e& w0 Y0 r0 x4 u4 E        GROUP (NEAR_DP_RELATIVE)
4 R* B( n, Q% P; }) k& o( l# c        {' h% I) z, @5 E0 ?
            .neardata- }& Z  U* |4 [# k) }1 N* B- W# T
            .rodata
* X4 D% y7 C" X9 u9 T2 [* P* L            .bss
& }* B' U) c# U4 N* ]        } > DDR27 F2 u. i( a9 R! Y) _

8 |  I  |7 }& S' Z        .cinit                >                DDR2                                // Initialization Tables
+ i/ K# T0 G5 G: Y' ^1 G        .pinit                >                DDR2                                // Constructor Tables: x9 ?9 c2 i& z1 ^$ j0 C
    .init_array        >                DDR2
6 c1 y1 ~5 v. e, |4 A4 u        .const                >                DDR2                                // Constant Data/ m5 |+ Q) d1 S$ N: p
        .switch                >                DDR2                                // Jump Tables( ^# d$ X- @8 _+ O% d: o
        .text                >                DDR2                                // Executable Code9 X8 _8 ^& ^6 u1 W! R6 c& E! |% _
        .text:_c_int00: > 0xC3000000                                        // Entrypoint  t4 m& T( z, w2 g; ]2 @3 r% [
        % z  W) }3 ]; E9 J; O  g" g% G
        .far                >                DDR2                                // Far Global & Static Variables5 t+ h  S, [# J: U
        .fardata        >                DDR2/ I6 O$ u/ E9 z% S
        .stack                >                DDR2                                // Software System Stack
; d: Z5 @! p/ w* H' V        .sysmem                >                DDR2                                // Dynamic Memory Allocation Area
/ g3 K) W% U. G) l, ?6 s8 ^9 Q1 b5 R        , X# I, S4 e# J5 l
        .cio                >                DDR2                                // C I/O Buffer
. D) A( p% S. P; Z        .vecs                >                DDR2                                // Interrupt Vectors
2 s' j9 `8 Z, @+ b  y7 W5 J  f}
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
7#
 楼主| 发表于 2017-1-21 08:35:45 | 只看该作者
human 发表于 2017-1-18 14:05
4 ?6 b; F( y& X  A( ]+ y需要在cmd文件给L2空间预留一段RBL引导程序的空间
( S( Z( X& l' K+ r% C
你好,请教具体怎么实现,能给大概说一下,我自己查了几天资料,还没有搞清楚,谢谢!
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
8#
发表于 2017-1-23 09:22:37 | 只看该作者
建议看看创龙的教学视频-CMD、启动烧写部分
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
9#
 楼主| 发表于 2017-2-7 15:42:40 | 只看该作者
human 发表于 2017-1-23 09:22" P0 O5 G# m% d, f+ A
建议看看创龙的教学视频-CMD、启动烧写部分
2 c9 [: A7 J2 b, B+ S
你好,我将cmd文件中的所有段都放在L2 RAM中,然后将程序起始地址改为从0x11800000偏移一定的地址,为RBL预留一定的空间。但是我不论偏移多少地址,编译、烧写后,程序都不能正常运行。麻烦帮我看下是哪里修改的不对吗?谢谢!
- O& |+ w3 b  B' y4 k; ~SECTIONS' E5 C4 l* [: W3 G% R& E: w
{
  g& i- b  `8 v, y/ a5 }6 N        GROUP (NEAR_DP_RELATIVE)
+ }: x$ r0 O; l" H, j, \+ U6 ^        {
0 R. R4 N9 s/ C$ Z            .neardata0 o: P' U/ m5 q/ ]" b
            .rodata# x( j7 I! C2 x" G9 c* y
            .bss
+ P  t7 L* r# H, ?9 K4 B        } > L2
# P0 Q9 c- T0 P/ R; _0 d* M. d" t0 p4 `4 O" z# H" ^$ M
        .cinit                >                L2                                // Initialization Tables
2 ~/ r0 J! b6 ]+ B( P* D$ }2 a        .pinit                >                L2                                // Constructor Tables
. t( C6 G$ Q; T3 X- L! `1 p    .init_array        >                L2
  n: Z! |1 \/ d        .const                >                L2                                // Constant Data6 t& L8 j7 Z" f. i
        .switch                >                L2                                // Jump Tables
$ Z% U* b5 i3 y0 q* J* @        .text                >                L2                                // Executable Code
3 J$ Y' J( _% ?, e) G        .text:_c_int00: > 0x11810000                                        // Entrypoint# Y% a- u, H) @9 ~9 L9 f! @5 ~
        * e7 o( q. o6 f5 w
        .far                >                L2                                // Far Global & Static Variables
: I  \9 W$ {  W0 _, e        .fardata        >                L2
& p/ a8 v  x$ E3 w* f4 t        .stack                >                L2                                // Software System Stack, H2 `7 D' o) v/ i/ `
        .sysmem                >                L2                                // Dynamic Memory Allocation Area
! j5 z1 x1 K. b' y5 n' X6 R        
4 v/ X5 n. ?/ f* E' c        .cio                >                L2                                // C I/O Buffer# m7 }& U# U/ P& w, h7 b
        .vecs                >                L2                                // Interrupt Vectors" @& S  c4 T! S5 @+ }7 \
}  ~# Q; w; D& E3 v- k) I+ l/ X
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
10#
发表于 2017-2-7 17:22:04 | 只看该作者
你添加了SPL引导程序没
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-14 22:20 , Processed in 0.055681 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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