硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4277|回复: 3
收起左侧

[ThreadX全家桶] 坛子里移植过USBX的帮忙看看这是什么问题?

[复制链接]

79

主题

191

回帖

428

积分

高级会员

积分
428
发表于 2020-9-27 19:06:01 | 显示全部楼层 |阅读模式
我参照官方提供的那个F7的例程想搞哈USBX,相关代码文件都添加到工程里后编译没问题,但内存分配初始化就死掉了。
MCU用的是STM32F429,  RAM起始地址0x20000000;CCM起始地址0x10000000,CCM目前没用。
仿真查看有个地方想不通:那个THREADX的入口函数tx_application_define(void *first_unused_memory)传递过来的first_unused_memory内存地址怎么是0x20030004 ?
这不是192K内存边界地址了么?如果这样,那后面所需内存还怎么分?想不通,仿真到ux_system_initialize()函数里初始化内存就死掉了。。。。

微信截图_20200927184742.png


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115801
QQ
发表于 2020-9-28 08:50:50 | 显示全部楼层
first_unused_memory是你xxx.S启动文件里面栈地址,你这个值是不是没有正确传递过来,应该是那个low level init文件有点问题。
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
 楼主| 发表于 2020-9-29 11:08:37 | 显示全部楼层
解决了,传递过来的这个栈底地址没毛病,threadX的任务堆栈是从栈底向上递减的。手动把USBX的内存手动指定到另一块区域就OK了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115801
QQ
发表于 2020-9-29 11:26:20 | 显示全部楼层
天马行空 发表于 2020-9-29 11:08
解决了,传递过来的这个栈底地址没毛病,threadX的任务堆栈是从栈底向上递减的。手动把USBX的内存手动指定 ...

QQ截图20200929112602.png
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-19 14:26 , Processed in 0.811394 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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