貌似stm32f10x的应用模块在1.2.x版本不能正常编译

发布于 2014-11-22 22:13:22
之前在realtouch的SDK上试过应用模块,最近想用在STM32F103ZET6上,结果按照教程在1.2.3稳定版和master版本上都不能正常编译,报附图的错误。搜索论坛好好学习两天,还用git的diff功能对比了realtouch下的脚本文件,试着修改文件,结果不行。今晚想到可能版本问题,于是试了试1.1.0版本,只是把realtouch的rtconfig.py文件中改了bsp和cpu参数就直接编译过了。同样的rtconfig.py在1.1.1上也过了,在1.2.0、1.2.1、1.2.2、1.2.3上不行,在1.2.0的发布页也没看到关于应用模块方面的变化,所以冒昧发个贴请各位大侠帮忙看看,点拨一下怎么修改文件才能在新版本下使用应用模块 [s:154]
由于命令行下使用>log.txt只能记录下scons: Reading SConscript files ...,所以就用的截屏,请见谅 [s:175]
log.png

查看更多

关注者
0
被浏览
3.7k
13 个回答
bernard
bernard 2014-11-24
建议先从4088的模块进行入门,有些方面已经修改了
jeffwei
jeffwei 2014-11-24
建议先从4088的模块进行入门,有些方面已经修改了

这条路早试过了,编译RealBoard4088software
tthread_apps的模块直接报错:
ImportError:no module named rtua
出错点在SConstruct文件17行,提示获取cpp路径出错:
from rtua import GetCPPPATH
bernard
bernard 2014-11-24
因为你完全不看文档
jeffwei
jeffwei 2014-11-24
因为你完全不看文档

我在下载了最新文档,
重点看了7应用模块和9scons构建系统两个章节的。
RTT_ROOT和BSP都是设置好了的,bsp也生成mdk工程编译好了。
我继续看看吧,再找找rtua的资料。
jeffwei
jeffwei 2014-11-24
一点一点记录一下,免得事后偷懒不分享解决问题的方法。
对比rtthread_apps和RT-Thread 1.1.0\examples\module下的SConstruct:
1.1.0下的文件路径是直接写出来的。
apps下的文件路径用
CPPPATH = GetCPPPATH(BSP_ROOT, RTT_ROOT)
得到的
CPPPATH 是 17行 from rtua import GetCPPPATH导入的
问题就这一行,没有找到rtua.py文件,目前找了C:\Python27和RTT下的目录都没有。
暂时就这些,待续
jeffwei
jeffwei 2014-11-24

原来看错文档,马上去看
看了之后没有解决问题,文档中好像没有相关介绍,继续努力吧.
jeffwei
jeffwei 2014-11-24
编译出mo文件了,方法如下:
注释3行
17#from rtua import GetCPPPATH
18#from rtua import GetCPPDEFINES
44#CPPPATH = GetCPPPATH(BSP_ROOT, RTT_ROOT)

把路径直接加入,模仿1.1.0的写法,注意
BSP_ROOT,
一行和1.1.0不同
= Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
CXX = rtconfig.CXX, AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = linkflags,
CPPPATH = [
RTT_ROOT + '/include',
BSP_ROOT,
RTT_ROOT + '/components/finsh',
RTT_ROOT + '/components/rtgui/include',
RTT_ROOT + '/components/rgtui/common',
RTT_ROOT + '/components/rtgui/server',
RTT_ROOT + '/components/rtgui/widgets',
RTT_ROOT + '/components/libdl',
RTT_ROOT + '/components/external/ftk/ftk/src/os/rt-thread',
RTT_ROOT + '/components/external/ftk/ftk/src/demos',
RTT_ROOT + '/components/external/ftk/ftk/apps/common',
RTT_ROOT + '/components/external/ftk/ftk/src',
RTT_ROOT + '/components/dfs',
RTT_ROOT + '/components/dfs/include',
RTT_ROOT + '/components/libc/newlib',
RTT_ROOT + '/components/external/cairo/cairo-1.10.2/src',
RTT_ROOT + '/components/external/cairo/'
])


这样就确定了问题只有导入路劲1个,应该是吧,手里没realboard,mo没试过。
下一步就是解决rtua的问题了
jeffwei
jeffwei 2014-11-24
rtua没找到,不过解决stm32f103问题,在rtconfig.py里面BSP = 'stm32f10x'下面加了一行
PLATFORM = 'gcc'
前几天事情多,比较浮躁,今天早点快递没到,工作没法进行就搞这个,沉下心就解决了。
另外我在哈密,有要干果的吱一声哦。估计还要待上半个月。
bernard
bernard 2014-11-24
还真没有,这个是我的错。

在realboard目录下执行
scons --target=ua

然后把apps目录中的bsp目录设置到realboard来,就可以编译出module了。
jeffwei
jeffwei 2014-11-24
还真没有,这个是我的错。

在realboard目录下执行
scons --target=ua

然后把apps目录中的bsp目录设置到realboard来,就可以编译出module了。

验证了,成功。我之前也看到了 tools目录下ua.py文件,把rtua给成ua,结果还是不行,原来是我用法不对,是target
qiousanxi
qiousanxi 2018-03-16
jeffwei 发表于 2014-11-24 22:47
验证了,成功。我之前也看到了 tools目录下ua.py文件,把rtua给成ua,结果还是不行,原来是我用法不对,是 ...

哥们,我QQ447685317 能加一下吗? 想请教您问题

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览