Forums

回复:PicBASIC的速度和代码效率

开始于 埃里克·卡尔森(Eirik Karlsen) 2005年8月8日
我将要开始一个主要程序,
预计组装时会达到32K。
为了省我一些白发
我在为这个项目嗅探BASIC。
但我需要-SPEED-不能承受太多损失
与编写良好的汇编程序相比。 谁能说说PicBASIC的
执行速度和代码效率,比较
手动(编写)好的汇编程序?

-
***********************************************
访问我的主页:
<http://home.online.no/~eikarlse/index.htm>
最后更新:23/08/2003
***********************************************
问候
埃里克·卡尔森(Eirik Karlsen)


--在piclist @ picl ...中,Eirik Karlsen<eikarlse@o...> wrote:
>我将要开始一个主要程序,
>预计组装时会达到32K。
>为了省我一些白发
>我在为这个项目嗅探BASIC。
>但我需要-SPEED-不能承受太多损失
>与编写良好的汇编程序相比。 >谁能说说PicBASIC的
>执行速度和代码效率,比较
>手动(编写)好的汇编程序?

嗨,艾里克,

当您关注效率时,应该看看XSCB
编译器。这会生成非常有效的代码。



proc内联bit_set(ubye * ptr,int bit_id)

* ptr = * ptr| (1 << bit_id)

结束程序

proc内联bit_clear(ubye * ptr,int bit_id)

* ptr = * ptr& ~(1 << bit_id)

结束程序

proc main()

优字节弗雷德

bit_set(&fred, 3)
bit_clear(&fred, 4)

结束程序

这11条高级语句可编译为两台机器
指示

bsf fred,3
bcf fred,4岁

顺便说一句,您有一个非常有趣的爱好,正在建造喷气发动机-哇!

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途
.


塞尔吉奥
我一直在看他们的网站,而XCSB看起来非常有趣, especially since
我熟悉结构化编程(VB等)。
所述的汇编器/ XCSB最高速度降低20%绰绰有余....
最多可以接受50%。

但是我找不到有关XCSB支持的芯片的任何信息?
我将专门使用高端PIC18F系列,也许 a smaller PIC18F
用于LCD显示P / S接口。
它会为例如18F6527生成代码吗?
 

x写道:

嗨,艾里克,

当您关注效率时,应该看看XSCB
编译器。这将生成非常有效的代码。
 

问候
塞尔吉奥·马西(Sergio Masci)
 

-
***********************************************
访问我的主页:
<http://home.online.no/~eikarlse/index.htm>
最后更新:23/08/2003
***********************************************
问候
埃里克·卡尔森(Eirik Karlsen)
 

--在piclist @ picl ...中,Eirik Karlsen<eikarlse@o...> wrote:
> Sergio,
>我一直在看他们的网站,而XCSB看起来非常有趣,
> especially since
>我熟悉结构化编程(VB等)。
>规定的汇编器/ XCSB速度降幅最大为20%以上
> adequate....
>最多可以接受50%。

实际上,自文档以来,编译器优化已经走了很长一段路
被写,效率甚至比现在更好。

>
>但是我找不到有关XCSB支持的芯片的任何信息?
>我将专门使用高端PIC18F系列,也许
> smaller PIC18F
>用于LCD显示P / S接口。
>它会为例如18F6527生成代码吗?
>

抱歉,目前仅支持14位内核(大多数为16F,有些
12F)。您在看18系列影片有任何特殊原因吗?这个
编译器可以在2k或16f628中打包很多东西。

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途

.


塞尔吉奥
很遗憾听到这个消息,我想我只需要应对组装问题即可。
它还不错,只是要跟踪很多代码 of.

 我将同时运行:
2个SPI,2个UART,4个ADC以及14个外部ADC(SPI),
6个外部DAC(SPI),大量计时器电路,
4个完整的16位PID循环。所有这些都以相当高的速度进行。
所有的DAC / ADC都需要消耗16位FIR滤波器才能运行。
我还需要大约1K RAM和至少1 / 4K EEPROM。
将运行稍微复杂的代码,包括
2个命令解释器(主机PC和本地LCD /键盘)。

仅18F会做,仅查找表的控制点
(传感器线性化)可能会超过2KB。
 
 

x写道:

 

抱歉,目前仅支持14位内核(大多数为16F,有些
12F)。您在看18系列影片有任何特殊原因吗? This
编译器可以在2k或16f628中打包很多东西。

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途
 

-
***********************************************
访问我的主页:
<http://home.online.no/~eikarlse/index.htm>
最后更新:23/08/2003
***********************************************
问候
埃里克·卡尔森(Eirik Karlsen)
 

你好 埃里克,

 

听起来像 一些有趣的代码!多 穿线了吗?您将为任务管理器做什么?

 

怎么样 PICC 18 compiler?

 

我会成为 有兴趣了解更多 about your project.

 

艾伦  KM6VV

 

从: p ... @ yahoogroups.com [mailto:p ... @ yahoogroups.com] 代表 埃里克·卡尔森(Eirik Karlsen)
发送: 2005年8月9日,星期二 1:56 PM
至: p...@yahoogroups.com
学科: Re: [piclist] Re: PicBASIC速度和代码效率

 

塞尔吉奥
很遗憾听到这个消息,我想我只需要应对组装问题即可。
它不是很糟糕,除了会跟踪很多代码。

 I'll 同时运行:
2个SPI,2个UART,4个ADC以及14个外部ADC(SPI),
6个外部DAC(SPI),大量计时器电路,
4个完整的16位PID循环。所有这些都以相当高的速度进行。
所有的DAC / ADC都需要消耗16位FIR滤波器才能运行。
我还需要大约1K RAM和至少1 / 4K EEPROM。
将运行稍微复杂的代码,包括
2个命令解释器(主机PC和本地LCD /键盘)。

只有18楼 就能做到,仅查找表的控制点
(传感器线性化)可能会超过2KB。
 



--在piclist @ picl ...中,“ Alan Marconett”<KM6VV@a...> wrote:
> Hi Eirik,
>
>听起来像一些有趣的代码!多线程的?你会怎么做
为一个
> task manager?
>
>PICC 18编译器如何?
>
>我想对您的项目有更多的了解。

是的,我也会。

BTW XCSB提供多任务处理功能。

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途

.



好,
它基本上是用于记录各种发动机参数的记录设备, by tapping
进入汽油喷射发动机(通常是汽车发动机)的关键传感器。
它还可以记录其他一些车辆参数,例如速度和 accelerations.
此外,它可以完全控制两个独立的宽带λ传感器, each
需要两个PID回路。还将数据输入到发动机控制单元 (ECU).
板载LCD +键用于数据读取& config/setup.
与PC的接口,用于检索日志和配置。
就是这样

几乎肯定会使用状态机或多线程 keep things
整齐的。
不幸的是,我从来没有到处学习C,而且我不认为 its a good idea
在所有这些之中开始陷入一种新语言的混乱之中... 看起来像是
部件。
 
 

x写道:

 --在p ... @ yahoogroups.com中,“艾伦·马科内特” <KM6VV@a...> wrote:
> Hi Eirik,
>
>听起来像一些有趣的代码!多线程的?什么 will you do
为一个
> task manager?
>
>PICC 18编译器如何?
>
>我想对您的项目有更多的了解。

是的,我也会。

BTW XCSB提供多任务处理功能。

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途

-
***********************************************
访问我的主页:
<http://home.online.no/~eikarlse/index.htm>
最后更新:23/08/2003
***********************************************
问候
埃里克·卡尔森(Eirik Karlsen)
 

艾里克

 

我能理解你为什么 不想接受“ C” 当这样的项目时。

 

OBDII可以提供很多 信息,但进行反向探测 ECU连接器也可以提供模拟信号。 

 

艾伦  KM6VV

 

从: p ... @ yahoogroups.com [mailto:p ... @ yahoogroups.com] 代表 埃里克·卡尔森(Eirik Karlsen)
发送: 2005年8月9日,星期二 3:42 PM
至: p...@yahoogroups.com
学科: Re: [piclist] Re: PicBASIC速度和代码效率

 

好,
它基本上是用于记录各种发动机参数的记录设备,通过 tapping
进入汽油喷射发动机(通常是汽车发动机)的关键传感器。
它还可以记录其他一些车辆参数,例如速度和加速度。
此外,它完全控制两个独立的宽带λ传感器,每个传感器
需要两个PID回路。还将数据输入到发动机控制单元(ECU)。
板载LCD +键用于数据读取& config/setup.
与PC的接口,用于检索日志和配置。
就是这样

将 几乎可以肯定是使用状态机或多线程来保持状态
整齐的。
不幸的是,我从来没有学过C,而且我认为这不是一个好方法。 idea
在所有这些之中开始使用一种新语言... like it will be
部件。
 
 

x wrote:

 -- 在p ... @ yahoogroups.com中, "艾伦·马科奈特" <KM6VV@a...> wrote:
> Hi Eirik,
>
> Sounds 喜欢一些有趣的代码!多线程的?你会怎样 do
为一个
> task manager?
>
> How 关于PICC 18编译器?
>
> I'd be 有兴趣了解有关您的项目的更多信息。

是的,所以 would I.

BTW XCSB 提供多任务处理功能。

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB - 优化PIC编译器
免费为 个人非商业用途

-
***********************************************
访问我的主页:
<http://home.online.no/~eikarlse/index.htm>
最后更新:23/08/2003
***********************************************
问候
埃里克·卡尔森(Eirik Karlsen)
 



--在piclist @ picl ...中,Eirik Karlsen<eikarlse@o...> wrote:
> Well,
>它基本上是用于记录各种发动机参数的记录设备,
> by tapping
>进入汽油喷射发动机(通常是汽车)上的关键传感器
> engines.
>它还可以记录其他一些车辆参数,例如速度和
> accelerations.
>此外,它可以完全控制两个独立的宽带λ传感器,
> each
>需要两个PID回路。还将数据输入到发动机控制单元
> (ECU).
>板载LCD +键用于数据读取& config/setup.
>与PC的接口,用于检索日志和配置。
> That's about it.
>
>几乎肯定会使用状态机或多线程
> keep things
> orderly.
>不幸的是,我从来没有学过C,而且我不认为
> a good idea
>在所有这些之中开始使用一种新语言...
>看起来像是组装。

说到状态机

http://www.xcprod.com/titan/ZMECH-DOC/generate/state-machine/block-indx.html

遗憾的是,此工具的唯一PIC目标是16系列(除非
当然您想使用第三方C编译器)。

有一天,我将把XCSB集成到ZMech中。

问候
塞尔吉奥·马西(Sergio Masci)

http://www.xcprod.com/titan/XCSB -优化PIC编译器
免费用于个人非商业用途
.