因此我有一个使用 SYS/BIOS 的应用程序,它似乎在堆栈空间之外运行。行为是:我分配任务空间,并向 main()添加一些新变量,调试程序,程序通过 cinit 并跳转到0x3FF4A (等待引导模式), 如果我减小其中一个任务堆栈的大小、它将运行(有时会溢出任务堆栈溢出)。根据.map 文件、我仍然有未分配的 RAM、但我似乎以某种方式溢出。 我是否有一种方法可以:a)修复此问题、或 b)告诉链接器更好地放置事情、以便在加载程序后发生此错误时收到错误?
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
因此我有一个使用 SYS/BIOS 的应用程序,它似乎在堆栈空间之外运行。行为是:我分配任务空间,并向 main()添加一些新变量,调试程序,程序通过 cinit 并跳转到0x3FF4A (等待引导模式), 如果我减小其中一个任务堆栈的大小、它将运行(有时会溢出任务堆栈溢出)。根据.map 文件、我仍然有未分配的 RAM、但我似乎以某种方式溢出。 我是否有一种方法可以:a)修复此问题、或 b)告诉链接器更好地放置事情、以便在加载程序后发生此错误时收到错误?
谢谢!
Daniel、您好!
您能否在加载.out 文件后打开反汇编窗口。 类型为"Error_Raise "、自动填充应显示错误提升函数的全名(类似于 XDC_RAUNTIME_Error_RAGE_*…… 我正在旅行、对工作的访问有限)。 函数在反汇编窗口中显示后、在其 上放置一个断点。 运行应用程序。 当堆栈溢出发生时、应命中断点。 打开 ROV 以查看哪个任务堆栈溢出。 您如何增加该堆栈的大小?
Todd