Eigenmath成功移植STM32单片机!
本帖最后由 nbzwt 于 2013-3-17 12:28 编辑我之前说是移植失败了,那是我移植的方法不对。现在总结一下移植经验:
按照Linux版的去移植,删除以下文件:
cmddisplay.cpp
draw.cpp
history.cpp
html-tool.c
MainXP.cpp
MainOSX.cpp
msqrt.cpp
prototype-tool.c
window.cpp
因为部分数学函数丢失,删除
besselj.cpp
bessely.cpp
并且删除相应头文件和selftest声明
因为肯定工作在文字模式,因此可以无视图形操作,删除
display.cpp
,并且在去掉tty检测,直接输出文字。
修改stack.cpp中的堆栈位置为CCM内存(@ ".ccm"),加快速度,减少主内存占用
修改alloc.cpp中的N到合适大小,使之可以放进动态内存
修改stm32f40x_flash.icf中对于heapsize的定义,加大动态内存值define symbol __ICFEDIT_size_heap__ = 0x8000;
增加对于CCM内存的支持:
define symbol __ICFEDIT_region_CCM_start__ = 0x10000000;
define symbol __ICFEDIT_region_CCM_end__ = 0x10010000;
define region CCM_region = mem:;
并且修改内存位置分配
place in RAM_region { readwrite, block HEAP};
place in CCM_region { section .ccm,block CSTACK};
这样所有堆栈都在CCM里面,正常的RW和HEAP都在主RAM里。
不过由于内存大小不给力,selftest无法顺利运行,
本帖最后由 diameter 于 2013-3-17 17:31 编辑
感谢分享经验!
话说有关bessel的函数删掉后有什么功能缺失吗 diameter 发表于 2013-3-17 17:23
感谢分享经验!
话说有关bessel的函数删掉后有什么功能缺失吗
暂时不清楚 所以还需要一个终端来输入输出? 感谢搂主分享经验。 楼主,是在stm32f4上面运行的么?可有详细的介绍,我对这个项目非常感兴趣.同时也准备上手移植Eigenmath,目前处理器初步确定为LM4F232 或者 stm32f417vgt,已经申请加群,qq289779880 QQ_E86719 发表于 2013-10-23 15:52
楼主,是在stm32f4上面运行的么?可有详细的介绍,我对这个项目非常感兴趣.同时也准备上手移植Eigenmath,目前处 ...
你好,请问ti的lm4s系的片子能外扩存储吗?我的意思就是说像arm9那样代码能copy到外扩存储上执行吗。另外lm3s9x系列的能不能实现,居说带EPI功能。我是从51过来的,想入手ARM,看中ti的cm3,想从lm3s9b96下手,望指教! zuolin1234 发表于 2013-11-24 18:37
你好,请问ti的lm4s系的片子能外扩存储吗?我的意思就是说像arm9那样代码能copy到外扩存储上执行吗。另外 ...
错了,是lm4f! 本帖最后由 549597890 于 2014-3-23 22:14 编辑
@chsi 好的! 楼主,有做过STM32上移植eigen(C++的一个库)吗?
移植的教程哪里有?谢谢! great job
页:
[1]