请教:双核裸机程序,修改例程中DSP端的cmd文件,下载后... - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
跳转到指定楼层
楼主
发表于 2017-1-13 11:13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OMAPL138基于IPCLite的双核裸机程序,创龙例程中,DSP端的cmd文件中将所有的段都放在DDR2中,我想让程序在L2RAM中运行,所以将所有的段都放在L2 RAM中,编译、烧写之后,上电程序不运行。请教一下是什么原因?
7 T0 }& u7 t8 X3 `
分享到:  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中,则编译、烧写后,上电程序不运行。9 j0 w8 [. ]: N; @6 I8 K$ p
刚开始做双核裸机开发时,用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+ M% H3 v9 ?/ x( B, m! {
需要在cmd文件给L2空间预留一段RBL引导程序的空间

: W' Z, }1 [+ S* `2 A- [# i$ y3 l# I你好,具体怎么写这段代码?之前的cmd文件,将所有段都放在DDR2中,其中哪一句对应的功能是预留给RBL引导程序的空间?请指导一下,谢谢。8 T% G, D' u4 q9 C4 J
SECTIONS
; N+ |+ J, ^0 }; A$ A{
6 H2 {) P# U* Z! ^. w* U        GROUP (NEAR_DP_RELATIVE)/ Q9 u# |2 _. _. m! A
        {  J5 p0 V8 |# r0 J- R0 ]: G
            .neardata6 Q3 b$ l+ b1 }3 x0 E
            .rodata
. M$ ^  b- T# v! M6 G. Z& a            .bss$ K% ]9 @, I0 }/ G+ ]
        } > DDR2
: T7 E9 w  D/ C7 ^$ i9 K4 D
9 M9 E8 G0 i4 u0 F; ?4 `) V$ n! k" F1 c        .cinit                >                DDR2                                // Initialization Tables
% O* M" k1 u. R4 A  U' P$ ~8 W        .pinit                >                DDR2                                // Constructor Tables
- T# d  {  J7 P1 S# B: ?1 t    .init_array        >                DDR2
. H& m5 X' ?( y: o& d& v7 p        .const                >                DDR2                                // Constant Data6 F* X. ]6 p. Z0 C# I8 T5 X# b
        .switch                >                DDR2                                // Jump Tables
8 }# R# c3 H0 e" s3 ~6 V# N0 g  v        .text                >                DDR2                                // Executable Code
. R% X7 H* c% n3 T. c7 A        .text:_c_int00: > 0xC3000000                                        // Entrypoint
* [5 i7 K- W7 N4 X* v9 \9 r; ]        " r& j7 |: F( h$ y3 t0 W
        .far                >                DDR2                                // Far Global & Static Variables  i$ H! J" w2 y& s2 @
        .fardata        >                DDR2+ i: A% p; M5 _& q8 x, F
        .stack                >                DDR2                                // Software System Stack5 `% Q. ?0 N- F! m5 O
        .sysmem                >                DDR2                                // Dynamic Memory Allocation Area
# E9 q2 v# ]# ~: I: I- U+ M: y        % |& a- _8 B6 l! x/ j" T  ]
        .cio                >                DDR2                                // C I/O Buffer4 Y1 C2 n& @( F9 ~/ z
        .vecs                >                DDR2                                // Interrupt Vectors3 {6 s; r7 o4 e' [) Z/ i
}
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
7#
 楼主| 发表于 2017-1-21 08:35:45 | 只看该作者
human 发表于 2017-1-18 14:05& u3 ^# h9 X, U0 d8 d& a: ?
需要在cmd文件给L2空间预留一段RBL引导程序的空间

4 G) [. R9 z6 ?9 L2 N你好,请教具体怎么实现,能给大概说一下,我自己查了几天资料,还没有搞清楚,谢谢!
回复 支持 反对

使用道具 举报

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
$ X. Z: G* ^6 i: |建议看看创龙的教学视频-CMD、启动烧写部分

: a( W' ?1 a/ K: T你好,我将cmd文件中的所有段都放在L2 RAM中,然后将程序起始地址改为从0x11800000偏移一定的地址,为RBL预留一定的空间。但是我不论偏移多少地址,编译、烧写后,程序都不能正常运行。麻烦帮我看下是哪里修改的不对吗?谢谢!5 J: u6 ~% q+ }9 a' Q2 H) o
SECTIONS* ^4 w- g9 s0 @/ C
{
2 E9 d* u# m& ?! O8 u, C2 P2 ~        GROUP (NEAR_DP_RELATIVE)
2 a- q" Z+ d: o. I6 x5 E% K. G+ K3 Y        {6 A) d$ a$ w5 u$ a  c
            .neardata
" y! i7 `3 Y1 C2 N8 |' I: o4 K2 p            .rodata! F) o; T3 A# F. ]5 T7 K
            .bss
4 {+ {4 M! P3 X        } > L2$ J9 A2 [0 V4 p. [

/ h/ G3 U2 X7 W6 [' R        .cinit                >                L2                                // Initialization Tables; Q, L8 G5 D$ W" W
        .pinit                >                L2                                // Constructor Tables
/ n7 |' I. a6 t4 @8 H6 P% ^    .init_array        >                L2
- S4 d% K& i$ k3 X& A) M$ y        .const                >                L2                                // Constant Data- l. ?/ _5 D3 e* o
        .switch                >                L2                                // Jump Tables( T; I* `& J- [8 a0 q
        .text                >                L2                                // Executable Code
& j+ u( h* N3 B3 z3 F        .text:_c_int00: > 0x11810000                                        // Entrypoint' m1 E5 h  T" A' C& @
        
9 q4 s7 ], S1 i& v        .far                >                L2                                // Far Global & Static Variables
. _' Q$ }0 Q# p* d! e) w* P/ ], Q- S        .fardata        >                L2
8 E- K& W/ ?. B/ g' ]8 N        .stack                >                L2                                // Software System Stack
  i" U# g  E2 F$ y* Y" W4 ^- ?        .sysmem                >                L2                                // Dynamic Memory Allocation Area5 H  M6 ?& R7 _1 |& H0 m
        . }; ]; l- _$ L/ v
        .cio                >                L2                                // C I/O Buffer% x% o5 y6 A- V. C4 t: y
        .vecs                >                L2                                // Interrupt Vectors0 z9 V' t+ o, x- L
}
8 P- M/ {" X( ~, Z3 Z$ @" [8 t0 l
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-1-30 20:58 , Processed in 0.042523 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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