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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
跳转到指定楼层
楼主
发表于 2017-1-13 11:13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OMAPL138基于IPCLite的双核裸机程序,创龙例程中,DSP端的cmd文件中将所有的段都放在DDR2中,我想让程序在L2RAM中运行,所以将所有的段都放在L2 RAM中,编译、烧写之后,上电程序不运行。请教一下是什么原因?
1 j5 R8 f* e' @: \: y% ~% C
分享到:  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中,则编译、烧写后,上电程序不运行。/ u* T' F. |0 g, ?; `8 W
刚开始做双核裸机开发时,用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" M6 M- u, G/ D3 K
需要在cmd文件给L2空间预留一段RBL引导程序的空间

! [4 H$ [( V$ T4 g+ g你好,具体怎么写这段代码?之前的cmd文件,将所有段都放在DDR2中,其中哪一句对应的功能是预留给RBL引导程序的空间?请指导一下,谢谢。4 y+ o$ y5 I+ L% u" D1 B' `# x+ u5 `
SECTIONS
$ Y! w4 h- a& F8 c8 n; d& z7 F{
% x6 ]* y/ N: f; a        GROUP (NEAR_DP_RELATIVE)* N$ J' \; W+ m! p5 s
        {
, Q) \! a" `. H; s            .neardata: n6 \! ?1 D+ I; d+ s" |3 l4 z
            .rodata6 T6 U7 J7 f. {) b/ p$ L/ g. g
            .bss
( I+ q# ?- d/ T& w( n& O* J& B        } > DDR2
  b! t( X, G' z5 o7 [2 h
+ `6 M8 @" u$ [* e/ J* ~( N        .cinit                >                DDR2                                // Initialization Tables8 n: A3 ?% n% P
        .pinit                >                DDR2                                // Constructor Tables# `# s: }# y( `8 S  `+ }
    .init_array        >                DDR2
- Q/ m9 {, Z% ?3 T; U; u        .const                >                DDR2                                // Constant Data8 ^1 e, d9 u/ U. o) k; C: N' x
        .switch                >                DDR2                                // Jump Tables
( ?7 E2 y0 R4 l0 b! R        .text                >                DDR2                                // Executable Code: g0 T& E+ L4 F7 Q& ~
        .text:_c_int00: > 0xC3000000                                        // Entrypoint
+ t, V" z: y9 I# x6 N( a7 z$ s        ( a! M, o/ Y4 k7 [
        .far                >                DDR2                                // Far Global & Static Variables
: w" H- I' L7 x1 e; T/ r( j        .fardata        >                DDR2
( |& D% o/ r. z3 K5 x8 \6 r% r        .stack                >                DDR2                                // Software System Stack5 k, S0 J4 N3 _* Y8 x! N
        .sysmem                >                DDR2                                // Dynamic Memory Allocation Area2 L, I8 J% @* w. T7 P) Y* E
        * p6 j6 i3 g3 n' q- v) w# S1 V
        .cio                >                DDR2                                // C I/O Buffer- |" x5 D( O8 e
        .vecs                >                DDR2                                // Interrupt Vectors
. y- Z! P# W8 H$ b}
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
7#
 楼主| 发表于 2017-1-21 08:35:45 | 只看该作者
human 发表于 2017-1-18 14:05
4 d  z9 @' [  x; P2 c需要在cmd文件给L2空间预留一段RBL引导程序的空间

/ `& p1 }: _$ f  S你好,请教具体怎么实现,能给大概说一下,我自己查了几天资料,还没有搞清楚,谢谢!
回复 支持 反对

使用道具 举报

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" [7 U  W# X: y) r1 @1 v/ T
建议看看创龙的教学视频-CMD、启动烧写部分
' i9 A0 q/ p  k5 i4 [' e
你好,我将cmd文件中的所有段都放在L2 RAM中,然后将程序起始地址改为从0x11800000偏移一定的地址,为RBL预留一定的空间。但是我不论偏移多少地址,编译、烧写后,程序都不能正常运行。麻烦帮我看下是哪里修改的不对吗?谢谢!
* y8 z9 J. U1 }* {( i$ ^SECTIONS
6 ]: E# n8 O' @% ^5 I8 I4 B* n{( z! g, v# Q7 M) R
        GROUP (NEAR_DP_RELATIVE)& g; x* x# z. \2 }5 P* q, V$ g
        {; r! W. _  n9 Y* y+ P5 E
            .neardata  B' D$ u, i! ?% E* n' b2 O
            .rodata3 l3 i7 U1 B# J# p# H  J2 I+ v
            .bss0 H/ S0 A* P) k7 a6 c
        } > L2
, |+ V/ z$ {6 J4 x# {+ E9 y
2 V" e$ ^8 v- v/ A; {; P        .cinit                >                L2                                // Initialization Tables5 U7 E: e' P- \7 c5 q# S# O
        .pinit                >                L2                                // Constructor Tables# P. g2 W5 W) s, k& Y' ?
    .init_array        >                L2. b/ b! P+ w! `
        .const                >                L2                                // Constant Data; [/ C5 Q& ~" Q
        .switch                >                L2                                // Jump Tables
% J) i# M/ K, x8 `        .text                >                L2                                // Executable Code2 Q6 Y4 t% S7 q, ]* k- N
        .text:_c_int00: > 0x11810000                                        // Entrypoint8 \. E6 Z3 A) o% q# N
        
$ ?1 Q8 n1 ?! w- ]& }7 @0 s+ M6 I, }        .far                >                L2                                // Far Global & Static Variables
6 @% G9 f( [& M. M/ V1 p) J& _        .fardata        >                L2! L) b& S. O: W. B" j
        .stack                >                L2                                // Software System Stack
  n) D: Q9 G/ q5 A' k6 C; E        .sysmem                >                L2                                // Dynamic Memory Allocation Area( m  R0 @! G' n: N& C
        / f5 i7 S! F1 ~2 w4 \' `
        .cio                >                L2                                // C I/O Buffer! r- ], l6 b  Q( y: @+ N: }/ ~
        .vecs                >                L2                                // Interrupt Vectors  P' T5 I- ^4 R* I6 P8 ]
}
( d7 W% F' E. z5 v
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 13:45 , Processed in 0.040833 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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