ZephRay 发表于 2013-3-17 12:21:47

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:23:02

本帖最后由 diameter 于 2013-3-17 17:31 编辑

感谢分享经验!
话说有关bessel的函数删掉后有什么功能缺失吗

ZephRay 发表于 2013-3-17 18:24:49

diameter 发表于 2013-3-17 17:23
感谢分享经验!
话说有关bessel的函数删掉后有什么功能缺失吗

暂时不清楚

urill 发表于 2013-3-23 20:33:47

所以还需要一个终端来输入输出?

alunli 发表于 2013-4-7 19:12:07

感谢搂主分享经验。

QQ_E86719 发表于 2013-10-23 15:52:05

楼主,是在stm32f4上面运行的么?可有详细的介绍,我对这个项目非常感兴趣.同时也准备上手移植Eigenmath,目前处理器初步确定为LM4F232 或者 stm32f417vgt,已经申请加群,qq289779880

zuolin1234 发表于 2013-11-24 18:37:38

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:38:25

zuolin1234 发表于 2013-11-24 18:37
你好,请问ti的lm4s系的片子能外扩存储吗?我的意思就是说像arm9那样代码能copy到外扩存储上执行吗。另外 ...

错了,是lm4f!

549597890 发表于 2014-3-23 16:49:50

本帖最后由 549597890 于 2014-3-23 22:14 编辑

@chsi 好的!

xdnh 发表于 2017-8-17 15:41:10

楼主,有做过STM32上移植eigen(C++的一个库)吗?
移植的教程哪里有?谢谢!

pengdingfu 发表于 2018-1-29 15:53:56

great job
页: [1]
查看完整版本: Eigenmath成功移植STM32单片机!