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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
跳转到指定楼层
楼主
发表于 2017-1-13 11:13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OMAPL138基于IPCLite的双核裸机程序,创龙例程中,DSP端的cmd文件中将所有的段都放在DDR2中,我想让程序在L2RAM中运行,所以将所有的段都放在L2 RAM中,编译、烧写之后,上电程序不运行。请教一下是什么原因?
- i3 V& x. C1 \6 A1 y0 q
分享到:  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中,则编译、烧写后,上电程序不运行。& C/ ]; ^$ @& ]
刚开始做双核裸机开发时,用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" Z! `% s, i6 z" X2 X  I
需要在cmd文件给L2空间预留一段RBL引导程序的空间

2 J& \6 Y/ H( K* g/ D! c你好,具体怎么写这段代码?之前的cmd文件,将所有段都放在DDR2中,其中哪一句对应的功能是预留给RBL引导程序的空间?请指导一下,谢谢。
* W7 g& E7 u% Y. OSECTIONS
: `* ]; X# ^5 u( M, I{
; y, Z% t/ q8 f" t        GROUP (NEAR_DP_RELATIVE)
7 `0 m3 F  ?) K5 D8 U2 f0 G        {
$ v1 M& Y: T" f) j# M            .neardata
2 D  ?( y+ j; ]6 {4 i" [  U% g            .rodata
' ^/ L" ~* |- m$ Q1 l5 S            .bss; c. u# b  x! b2 o
        } > DDR2+ i! U3 R, `8 p- ^+ l
: l1 ]$ E$ S1 R9 Y
        .cinit                >                DDR2                                // Initialization Tables  J2 O* i& L- j, C) ]9 F* ~
        .pinit                >                DDR2                                // Constructor Tables
7 p% d- ]- M8 X/ m9 ?$ M! R9 m) c; S    .init_array        >                DDR2
2 j) M: K6 w5 U  p! W        .const                >                DDR2                                // Constant Data
  t3 U2 @: k7 O" [* \! u7 ]        .switch                >                DDR2                                // Jump Tables
# X4 ]& d- Y6 o5 l( P9 _+ n% U        .text                >                DDR2                                // Executable Code
; S3 V7 d$ T) G        .text:_c_int00: > 0xC3000000                                        // Entrypoint
1 T, P; T3 V, p$ B# r! ~        $ G8 @: g) |& F. _% l( m4 j( W0 f
        .far                >                DDR2                                // Far Global & Static Variables5 t2 h( j: l5 M( S6 v4 o5 m
        .fardata        >                DDR2' ~% \# J2 S# M& P4 q( I
        .stack                >                DDR2                                // Software System Stack  k) H, l! Q( m/ ]1 S3 f: v
        .sysmem                >                DDR2                                // Dynamic Memory Allocation Area- ?) _% b( D0 Q
       
0 B( k( v- u2 \6 a$ o* P        .cio                >                DDR2                                // C I/O Buffer5 a& u& i2 s8 W8 {5 A' S
        .vecs                >                DDR2                                // Interrupt Vectors
9 [0 x. [. i/ d# v& D7 y2 b}
回复 支持 反对

使用道具 举报

12

主题

43

帖子

199

积分

注册会员

Rank: 2

积分
199
7#
 楼主| 发表于 2017-1-21 08:35:45 | 只看该作者
human 发表于 2017-1-18 14:05
& h7 \* X) Z9 F/ K# {/ g) w需要在cmd文件给L2空间预留一段RBL引导程序的空间
- b8 h' Y" t/ ^8 @$ k+ J$ t# R6 \; V
你好,请教具体怎么实现,能给大概说一下,我自己查了几天资料,还没有搞清楚,谢谢!
回复 支持 反对

使用道具 举报

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
4 V! a$ p* w/ _0 M建议看看创龙的教学视频-CMD、启动烧写部分
, f" S7 K* S5 M
你好,我将cmd文件中的所有段都放在L2 RAM中,然后将程序起始地址改为从0x11800000偏移一定的地址,为RBL预留一定的空间。但是我不论偏移多少地址,编译、烧写后,程序都不能正常运行。麻烦帮我看下是哪里修改的不对吗?谢谢!
. e: X- U$ `$ n0 e- [' GSECTIONS
  n1 ]. s# K$ d2 Y{0 x' o& Q' A: i# k
        GROUP (NEAR_DP_RELATIVE)
  A& ]% Q* H# P( C  n( r        {
1 S5 C! p" L# A: e& S            .neardata! [) j+ v" T* |8 Y3 w- s+ q
            .rodata
9 F( w8 E" Q, [5 [0 R            .bss8 I6 Y/ \4 I2 a0 k0 m, q, G
        } > L2
7 h# ?, e+ D) I$ ?2 T$ ?' v9 \  r3 B( P5 O
        .cinit                >                L2                                // Initialization Tables5 o; y- K0 T) K. g1 L
        .pinit                >                L2                                // Constructor Tables
/ S$ |0 {5 G; V1 r2 i: w7 C3 T    .init_array        >                L2
0 M5 [( S0 U) P1 T        .const                >                L2                                // Constant Data5 y# U( h# m) Y0 U6 g: w/ W
        .switch                >                L2                                // Jump Tables
; C0 e3 F$ u7 w+ Z' e% n! q        .text                >                L2                                // Executable Code
# V9 Q/ X9 i6 r9 w" {0 ^        .text:_c_int00: > 0x11810000                                        // Entrypoint0 ]* g' n1 Y- n6 f
        
0 _( w% v$ g! e        .far                >                L2                                // Far Global & Static Variables! i) W+ K' R( D" {5 e! }
        .fardata        >                L2
1 z& E9 ?, \/ ?' j& ^2 L        .stack                >                L2                                // Software System Stack9 i1 c: w/ y% f+ Y) i$ m; F  C
        .sysmem                >                L2                                // Dynamic Memory Allocation Area" L- Q; U0 C: J4 q2 u
        " Y4 M9 u& ?& S0 T& @7 t# q
        .cio                >                L2                                // C I/O Buffer
5 a- v, z& v* D$ i; R9 N7 x        .vecs                >                L2                                // Interrupt Vectors, E# J- ~  i+ y( }+ b
}
$ w# W4 c5 B6 f5 q/ a1 T
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-3-17 02:32 , Processed in 0.043584 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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