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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7386|回复: 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
沙发
发表于 2016-1-6 09:05:33 | 只看该作者
按段加载就可以
回复 支持 反对

使用道具 举报

28

主题

87

帖子

449

积分

中级会员

Rank: 3Rank: 3

积分
449
板凳
 楼主| 发表于 2016-1-6 09:08:40 | 只看该作者

怎么按段加载?能详细说一下吗? 我直接运行运行这个 appEntry = (void (*)(void)) 0x1181 0000,能调用app函数吗?

点评

如果地址是函数的入口地址 就能调用函数的  详情 回复 发表于 2016-1-6 17:20
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
地板
发表于 2016-1-6 17:20:02 | 只看该作者
新手上路 发表于 2016-1-6 09:08
怎么按段加载?能详细说一下吗? 我直接运行运行这个 appEntry = (void (*)(void)) 0x1181 0000,能调用a ...

如果地址是函数的入口地址 就能调用函数的
回复 支持 反对

使用道具 举报

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
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

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

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

使用道具 举报

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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 05:05 , Processed in 0.040346 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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