-
Notifications
You must be signed in to change notification settings - Fork 156
Open
Description
1. 主函数不识别问题
现在我在main.py定义函数时,存在识别不到所定义函数的问题。具体问题代码如下(已经是全部代码,最小化测试):
import PikaStdLib
def blinkTest():
print("blink tick")
def statTest():
print("stat tick")
def initTimer():
print("timer started")
blinkFunc = blinkTest
statFunc = statTest
initTimerFunc = initTimer
错误现象,比如这个,报错信息为blinkTest没定义,其实都已经定义了的,具体运行报错信息如下:
pikascript-core==v1.11.8 (2022/12/03 19:05:57)
PikaStdLib==v1.11.8
===========================================
~~~/ POWERED BY \~~~
~ pikascript.com ~
~~~~~~~~~~~~~~~~~~~~
NameError: name 'blinkTest' is not defined
-> REF blinkTest (#102)
目前做过的尝试:
- 修改函数名(无效)。
- 直接调用函数,而不用对象把函数装起来(无效)。
- 调换函数定义顺序(有时有效)。
Pikascript和pikastdlib版本号都是1.11.8,运行在nano模式。
平台为ch203cbt6(128k flash 32k ram),m3核,主频72m。
补充:在Pikascript和pikastdlib版本号都为1.13.4上也测试了存在此问题。
2. Flash空间大小问题
目前我在平台为ch203cbt6(128k flash 32k ram),m3核,主频72m上对Pikascript和pikastdlib版本号都为1.13.4的源码进行编译,编译配置如下:
- 编译器版本为AC6.22.
- 不使用微库。
- PIKA_NANO_ENABLE=1。
- 工程只有串口驱动,main.py中为prinf("Hello world")的简单测试代码。
- 编译时为-Oz + LTO + One ELF Section Per Function。
在这种情况下,如果代码如下:
void App_Init(void)
{
// PikaObj * pikaMain = pikaScriptInit();
return;
}
此时编译占用的ROM为3.31kB。
如果:
void App_Init(void)
{
PikaObj * pikaMain = pikaScriptInit();
return;
}
此时ROM占用为95.20kB。
请问这个空间占用是否正常?我看到官方文档有说到nano模式下可以在64k Flash的单片机上运行,要如何配置才能将该工程控制在64k以内?
Metadata
Metadata
Assignees
Labels
No labels