一个工程怎么样boot 起来 app工程,怎么样调用? - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

一个工程怎么样boot 起来 app工程,怎么样调用?

[复制链接]

28

主题

87

帖子

449

积分

中级会员

Rank: 3Rank: 3

积分
449
跳转到指定楼层
楼主
发表于 2016-1-5 18:19:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
app.out用AISgen生成 .ais,然后烧录到NANDFLASH中。我是不是把NANDFLASH,烧录的.bin,数据读出来 ,然后存到DSP的RAM缓存中(比如)0x1181 0000地址中,然后想调APP函数 时是不是   运行这个 appEntry = (void (*)(void)) 0x1181 0000; 就能 运行起来APP工程。这样做可行吗?
我用的是StarterWare中的 bootloader例程


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
13#
发表于 2016-1-11 20:03:14 | 只看该作者
新手上路 发表于 2016-1-11 09:46
先前问的问题 有点含糊,刚又看了一遍,贵公司的教学视频《启动与烧写篇》,其实我要实现的是,手动写boo ...

前面的是 AIS 脚本命令 不是 DSP 程序段 不能执行
只能由 RBL 解析
回复 支持 反对

使用道具 举报

28

主题

87

帖子

449

积分

中级会员

Rank: 3Rank: 3

积分
449
12#
 楼主| 发表于 2016-1-11 09:46:56 | 只看该作者
希望缄默 发表于 2016-1-8 16:50
使用预编译指令可以固定地址(#pragma CODE_SECTION)
也可以查看 .map 文件得到 ...

先前问的问题 有点含糊,刚又看了一遍,贵公司的教学视频《启动与烧写篇》,其实我要实现的是,手动写bootloader加载程序,下面是ais部分数据,例如其中的一个段0x58535901为头,0x00000020为长度,是不是我把接下的0x00000020个数据 按顺序写到0x11800000,中,就可以?但是关于这个0x5853590D,开头的我把它放到什么内存位置我不太清楚.
0x41504954,
0x5853590D,
0x00050005,
0x00000000,
0x3FFFFFFC,
0x00000000,
0x00000000,
0x00000002,
0x58535901,
0x11800000,
0x00000020,
0x00123C12,
衷心感谢创龙工程师们!

点评

前面的是 AIS 脚本命令 不是 DSP 程序段 不能执行 只能由 RBL 解析  详情 回复 发表于 2016-1-11 20:03
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
11#
发表于 2016-1-8 16:50:25 | 只看该作者
新手上路 发表于 2016-1-8 13:38
两个.AIS文件通过nandwrit烧写到 nandflash中,一个是主工程A.ais,另一个是app.ais。  主工程 通过这个  ...

使用预编译指令可以固定地址(#pragma CODE_SECTION)
也可以查看 .map 文件得到
回复 支持 反对

使用道具 举报

28

主题

87

帖子

449

积分

中级会员

Rank: 3Rank: 3

积分
449
10#
 楼主| 发表于 2016-1-8 13:38:52 | 只看该作者
希望缄默 发表于 2016-1-7 17:07
你到底要实现什么功能?

两个.AIS文件通过nandwrit烧写到 nandflash中,一个是主工程A.ais,另一个是app.ais。  主工程 通过这个 appEntry = (void (*)(void)) 0x1181 0000;  调用app工程,执行完之后,然后再跳转到主工程A。

这样的目的是 ,可以在不动主工程的情况下,随时更改app工程。

怎么确定函数入口地址呢?

点评

使用预编译指令可以固定地址(#pragma CODE_SECTION) 也可以查看 .map 文件得到  详情 回复 发表于 2016-1-8 16:50
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
9#
发表于 2016-1-7 17:07:12 | 只看该作者
新手上路 发表于 2016-1-7 09:31
希望缄默 发表于 2016-1-6 17:20
如果地址是函数的入口地址 就能调用函数的

你到底要实现什么功能?
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
8#
发表于 2016-1-7 17:06:27 | 只看该作者
新手上路 发表于 2016-1-7 09:31
希望缄默 发表于 2016-1-6 17:20
如果地址是函数的入口地址 就能调用函数的

如果 0x11810000 是一个函数入口地址 就可以
回复 支持 反对

使用道具 举报

28

主题

87

帖子

449

积分

中级会员

Rank: 3Rank: 3

积分
449
7#
 楼主| 发表于 2016-1-7 09:31:46 | 只看该作者
希望缄默 发表于 2016-1-7 09:09
AIS 是脚本 需要 RBL 才能解析

nandwrite 指定的参数应当是 C语言入口 _c_int00 的地址 ...


希望缄默 发表于 2016-1-6 17:20
如果地址是函数的入口地址 就能调用函数的

一:ais文件中解析出的段加载头如下,
0x58535901,
0x11800020,
0x000095E0,
........
这个是我从nandflash中读出的数据,
还有我是用stareware  中的bootloader例程做的,
我从nandflash中,读出的数据 ,我把这些数据 写到 0x1181 0000地址中,然后运行运行这个 appEntry = (void (*)(void)) 0x1181 0000; 这样可行吗?
0x41504954,
0x5853590D,
0x00050005,
0x00000000,
0x3FFFFFFC,
0x00000000,
0x00000000,
0x00000002,
0x58535901,
0x11800000,
0x00000020,
0x00123C12,

点评

你到底要实现什么功能?  详情 回复 发表于 2016-1-7 17:07
如果 0x11810000 是一个函数入口地址 就可以  详情 回复 发表于 2016-1-7 17:06
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
6#
发表于 2016-1-7 09:09:31 | 只看该作者
新手上路 发表于 2016-1-7 08:56
一:ais文件中解析出的段加载头如下,
0x58535901,
0x11800020,

AIS 是脚本 需要 RBL 才能解析

nandwrite 指定的参数应当是 C语言入口 _c_int00 的地址
回复 支持 反对

使用道具 举报

28

主题

87

帖子

449

积分

中级会员

Rank: 3Rank: 3

积分
449
5#
 楼主| 发表于 2016-1-7 08:56:01 | 只看该作者
希望缄默 发表于 2016-1-6 17:20
如果地址是函数的入口地址 就能调用函数的

一:ais文件中解析出的段加载头如下,
0x58535901,
0x11800020,
0x000095E0,
........
我是不是把这些,直接写到,0x1181 0000地址中,然后运行运行这个 appEntry = (void (*)(void)) 0x1181 0000; 就能调用上面的段?
二:用nandwrit烧录到nandflash中时有一个 参数entryPoint  = 0x11800000;,这个参数地址是函数入口吗?或者我在程序中怎么找到函数入口?
麻烦给小弟 指教指教,谢谢您啦!

点评

AIS 是脚本 需要 RBL 才能解析 nandwrite 指定的参数应当是 C语言入口 _c_int00 的地址  详情 回复 发表于 2016-1-7 09:09
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-15 03:09 , Processed in 0.047361 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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