购物车0种商品
IC邮购网-IC电子元件采购商城
面向对象的单片机程序开发平台
(2011/10/19 9:24:00)
在应用C++Builder和VB写PC软件时想到

如果有那么的一个平台(软件),他的模式和C++Builder、VB差不多

要单片机实现那个功能,就调用相应的控件,更改控件的属性就对功能的初始化和操作。

以前用ARM+Linux构建过,在PC里做了一个平台,在平台了里可视化地设计介面和功能,然后以任务的方式下载到ARMLinux里,运行、更改这个任务。这样,灵活,简便地在同一平台快速地开发不同的功能。

欢迎讨论

网友评论:所以我现在喜欢用freescale的CPU

网友评论:太好了,作好以后俺菜鸟做个PLC玩玩

网友评论:新华龙的C8051F自带一个软件,好象叫个config2什么的了。可以选择每个型号,然后在调试软件里选择配置芯片里自带资源配置,比如引脚初始化、串口波特率什么的。每当选择完毕,它就会根据你的配置生成一段代码。然后你可以COPY到程序中,这个对新接触这种MCU的人很方便。
现在想一想,新华龙这点做的和VISUAL系列的编程语言有点相似。

网友评论:比如换个MCU,所有都不成立。

网友评论:这个项目想做好非常难,因为编程不是技术活,而是体力活,这么大的程序量不是中国程序员业余时间可以完成的。
老外可以做自己爱做的事,我们却还要为生存而打拼……

“创意”诸如“选一个串口控件,则自动生成串口模式选择、波特率等配置”谁都能想到,但是一旦具体开了,I2C呢,SPI呢,没有的话软件模拟实现呢……定时器资源太少呢……模型可能很难统一,所以到了最后很可能是每种单片机一类模型(根据具体型号又有所不同),每种类型还需要针对keil,IAR……搞出N个版本……

前段时间装了个“SUPERPROUSBseries”编程器软件,很是惊讶它居然占了150M的空间,但是打开它的目录,看到了数不清的EPROM,MCU,GAI……每个型号一个库文件……又想想也许真的要占那么大的空间。

OFFICE也是啊,几百兆的空间看似很臃肿,但是你想要什么它几乎都能实现;而WPS看似精巧,确只能在网页里复制文字,连图片都没法复制……所以wps可能很适合一部分人,却远远不是office的对手。

网友评论:http://www.cpubbs.com/forum/viewthread.php?tid=53355&extra=page%3D1&frombbs=1

网友评论:和俺想的差得太远

网友评论:都太初级了

比如换个MCU,所有都不成立。

==================================================
你肯定没有用过CW的PE:
如果换CPU,那么固定IO的(比如串口,i2c,不变),通用IO和AD自己到菜单选择.程序不要作修改的.现在还支持8bit升级32bit的CPU(QE128).

估计中国人十年内不可能有这样的软件面世.

网友评论:其实我倒是觉得硬件调试是很麻烦的,最耗费时间的.新CPU上手,要看N多E文资料.用CW基本简单带过.CW的介绍讲用PE可以节约70%的时间.

PE也可以自己扩充的,网上有很多型号的LCD,DS1302邮购DS1302,EEPROM,FLASH....等各种接口的bean,只要下载了,就可以直接调用.水平好的也可以直接编自己的bean.

网友评论:不局限于特定MCU
编程方法一致,使用嵌入裸奔,快速定制程序,立等可取,具备很强的健壮性
包含丰富的硬件库,从EEPROM到LCD,可以具体到型号
支持软件扩展包,嵌入数据库、嵌入GUI、TCP/IP、各种使用协议
大众维护特性

就EEPROM来说,不仅提供读写函数,还提供与之配套的使用缓冲的操作函数,使大众使用EEPROM可最大效率最可靠完成程序。同时还扩展简单的数据管理和复杂的数据库。
LCD也类似,不光有硬件函数,还应该包含系统级别的图形设计函数,和很多具备前瞻性设计理论挂钩。

等等,一环环相扣,从硬件到系统。



网友评论:所谓单片机,跨度也挺大的吧
高端的“单片机”,似乎已经很成熟了,所以这里说的应该是低端的吧?

所谓“平台”,其实包含了两层含义:

1.约束,也就是框架(Framework),从顶层出发的,例如微软的MFC,Delphi/BCB的VCL/CLX,首先就是Framework。Framework就是一套游戏规则,规定建筑物应该盖成什么样,但不是具体的设计,而是风格和结构形式上的规定,什么明清风格、西洋风格、哥特风格、虹桥、悬索斜拉桥……说到底就是为了尽量去符合软件工程学里的那些理想。(有一本书说的更宏观,叫“模式Pattern”)

2.程序库(Library),具体可能叫例程库、函数库、类库。这是从底层出发的,初级目的是为了减轻程序员的工作量,其次是为了是代码更简短清晰,再次是提高代码质量,最后还是为了与Framework配合。

当然这种划分是人为的,实际Framework都是包含Library的。
在非常正规的企业里,给员工定一套从软件工程角度非常完整的开发规则,也可能成为Framework,这完全是靠“纪律”约束的,不易操作。通常Framework离开Library就成了虚的。没有一套好用的Library支持,别人凭什么遵循你的约束?好多单片机程序员,连个意义准确的符号名都懒得取。
低层次的Library倒是可以不管什么Framework。

不知这里要做的是什么?

要是在低端单片机上做Framework+Library,可真是了不起的志向。
低端单片机系统的硬件结构个性都太强了,要在这上面做出“共性”,很有挑战啊。

还有一个问题,就是效率的问题。
以51为例,就说最普通的strcpy之流吧,需要用指针,要通用,就要用3字节的通用指针,代码实在笨拙。所以我实际开发时一般都是用专用的,XDATA一个,IDATA一个,XDATA和IDATA交互的又是两个,源代码很麻烦,但目标码效率高了。


网友评论:太耗资源,耗不起,只有不缺钱的投资商肯赞助,估计能做成。

网友评论:做过嵌入式开发的朋友应该会深有体会,俺倒想做个通用的ARM开发硬件平台,大家在上面玩驱动,玩中间件架构,大家才能共鸣。
单片机就选AT91SAM7S64,有了USB接口,再整一个网络接口,搭好大舞台,大家来唱戏。

网友评论:FreeScale的开发工具里面有一个ProcessorExpert,就是一个可视化编成工具,他将每个部件叫做一个"Bean",其实就是C++中的Class,每个对象都有属性方法事件三个部件卡,自己选择哪些方法或事件需要生成代码。比如要用串口,就从CPU资源库里拖一个UART出来,配置一下波特率缓冲区大小之类的属性,选择需要哪些方法,比如字节发送、缓冲区发送、清空缓存等,再选择需要哪些事件触发,比如OnReceive,发送结束TxEnd,等等。很爽,开发几乎不需要碰底层,连寄存器表都不用看,拿来就会用。他生成的代码非常优秀,我们移植了很多到其他单片机上。

如果连过程也懒得自己动手,还有个可视化的好冬冬,叫VisualState,只要用状态图描述你的系统功能,他会自动生成代码并能进行测试。可惜只支持IAR的开发环境,正在研究怎么玩MSP430可视化开发。

网友评论:好事情!理论上可以为所有的器件,协议,功能等做标准库,但需要大量的人力,物力。需要相应的组织去维护等等。

网友评论:!!!

网友评论:IAR不也有什么可视化设计吗?谁用啊!

库函数倒是确实该让国人摆脱全手工劳动了。

网友评论:可望而不可及啊!
其实我倒是希望有人能来点现实的,帮助大家"脱贫致富",

比如:SD卡文件系统,TCP/IP网络协议移植,GUI,中文输入...等.最好是具体到每个型号的CPU,对应有完整的原程序等.大家不要再去研究移植了,copy一下就能用,或者干脆把库加进去,源代码也不要了.

可能我是好吃懒做,只想坐享其成,不过LZ的设想应该就是能让大家坐享其成的吧.

网友评论:呵呵,没戏

网友评论:有个问题,假如某个通信协议做成库,时序什么的都比较好做,但是如果需要个稳定的速率,是否需要调用时钟,还是关中断?如果要调用时钟,是否这个时钟就被完全调用了(时钟的复用如何实现)?
一定需要操作系统吗?

网友评论:http://www.cpubbs.com/forum/viewthread.php?tid=18681&extra=page%3D1

这个和大家说的功能一样,并且库和编译器可以扩展的,只要扩展好,可以支持到任意的CPU芯片!

网友评论:http://www.cpubbs.com/forum/viewthread.php?tid=18681&extra=page%3D1

网友评论:不过是商业性的产品,呵呵,如果是共享版就好了

待本人不愁吃穿的时候,时间多了,俺一定面向开源的方向,组积一个志愿者队伍,为中国的开源出一分力量

早两天去了铭源电子搞的沙龙,被他感染了,嘿嘿~~~~~~

网友评论:不是仅仅一个库,而是包含嵌入规则的库。
一如赤铸大侠描述的,佩服佩服。

网友评论:赤铸一说,顿时整个构思明了了:Framework+Library
呵呵,能实现,工作量大而已。

网友评论:真的,我觉得这不是个人干的事。必须找商业模式。

Linux的成功,一方面有UNIX的源码,还有就是有一大批拿高薪却没什么事的UNIX管理员为义务劳动群体基础才发展出来的。

网友评论:
其实微软一直在开发基于ARM平台的oop开发环境
不过是给它自己的WINDOWSMOBILE用的

但是这个是趋势
感觉未来早晚要统一

先顶一个




网友评论:个人观点:
可视化开发环境倒是次要的,主要的是系统的架构和类库。
架构要灵活,支持扩充,支持用户继承才有类的意义。这点不是很容易实现的
类库要能够支持不断有新的硬件驱动加入,并方便内核调用。

以前在51上面做菜单显示和键盘的时候,参考了MFC的消息机制。有过与楼主类似的想法。

建议LZ在google上见一个PROJECT。方便大家分工。
PC软件俺只对DELPHI比较熟,需要的话愿意加入。


网友评论:不局限于特定MCU----首先必须要有BSP,板级开发包.
最主要,需要将软件和硬件操作完全分开,应用程序部分不能对硬件直接操作,必须通过中间层,这样才能实现移植到不同的CPU,

关键是一个问题,这样一来,必然代码量会大大增加,需要RAM的量也大大增加,成本?而且调试起来也未必简单。

至于所长后面的想法,如果有个操作系统,实现起来起不是太容易了?何必自己搞呢?

我想倒不如针对某一个厂家的某一类CPU,做这么个系统,只支持标准的某一类器件,做出函数库,可以直接调用,至于(LCD也类似,不光有硬件函数,还应该包含系统级别的图形设计函数)我看还是提供模板吧,并且提供几个型号的开源代码,类似驱动程序,用户可以自行修改!这个可以卖给芯片厂家换钱呀!



网友评论:
对于在应用C++Builder方面我是个菜鸟希望前辈指点迷津!!


百赢商务系统http://www.icwinner.com专业ic管理软件
相关链接:http://www.icwinner.com/index.asp

网友评论:软件拷贝毕竟比硬件抄板容易多了
所以嵌入式开发也只能靠具体的产品(软+硬+客户关系)挣钱,做什么通用平台,注定要饿死,除非已经吃饱了:)

还要搞个硬件抽象层HAL,让软件和硬件彻底完全独立,苍天哪!


网友评论:不过肯定支持不到8位机。


网友评论:1,失去了使用单片机的意义了.
2,造成大量设计人员下岗.

网友评论:我觉得51的程序本来就不复杂,作arm的怎么样?

网友评论:嵌入式裸奔,手动切散任务。切的颗粒大小是硬件相关的。标准库咋通用?

网友评论:到开源社区注册个项目即可

网友评论:否则哪能做的过来?这么多的8位的cpu?

网友评论:我的QQ:32692180

网友评论:这个想法很好,未必非得用在8位的低端应用

网友评论:真正的核心只有少数人在玩,大多的人就只要移植就可以了。

浏览:(629)| 评论( 0 )
博文评论

  • 昵 称:
  • 内 容:10~250个字符
  • 验证码: 验证码看不清楚?请点击刷新验证码
  •                      
  • 博文分类

    热点博文

    最新博文

    最新评论

    IC电子元件查询
    IC邮购网电子元件品质保障