这片土地有套自个运行的规则,不是以纯技术为考核的
前几天我发了个贴子,感谢几位的回复,问STC公司是否需要我来开发STC的编译以及模拟器。首先我说的是实情,并非自荐。一个STC的编译模拟器还不值得我下那么大的功夫。今年我正在用我自个开发的语言(Yxra语言,下面会介始一下这个开发语言)对接STC单片机(应一位大学教授要求),打算先从STC开始替换C,纯国产开发。在对接中STC官网提从的是Keil uVision5+C251,我按文档要求逐一安装开发。我用的是STC32G12K128单片机,为什么用这个单片机。因为Yxra语言是面向对象,不能象C一样做语法映射,需要创建一套对象机制,以实现抽象继承等特性。两个指标需要重要考虑:一是运行内存,一是寻址能力。纯8位寻址的单片机最多做汇编映射,无法做到面向对象,小内存完全无法容纳对象结构。现在我简单介绍一下Yxra语言,这个开发语言我以2022年开始开发,最初是在x86上开发,现在基本成熟(没有多核,缺少这方面的开发资料)。目的是真正实现我们的国产化。现在有不少大公司,超大公司屏蔽技术细节,大吹特吹国产。在没有面向硬件的开发语言,又没有纯国产的操作系统前提下。这点让我特反感,才下决心做这事。2025年年底有幸让大学教授看到我的开发语言,他很有热情,打先对接STC单片机,这是与他相关的课程相关(应该是这样),于是才有上面的事情。
下面摘自《Yxra语言设计》,有需要的可以留下联系方式。
“本书全面、系统地介绍Yxra开发语言的特点及应用技术,内容以Yxra的基础程序设计、面向对象程序设计两条主线,利用浅显易懂的语言、丰富简单的实例,完整地介绍了Yxra面向对象程序设计的重点和难点。例题均通过实际测试,书中截图来自于Bochs真实的运行结果。本书共分为三部分,第一部分为程序设计基础;第二部分为面向对象程序设计;第三部分为线程开发以及文件系统等功能介绍。”
“Yxra语言为开发国产化操作系统而诞生,但它又不仅仅是为了开发操作系统。自从国家层面提出要国产化以后,各大软件厂商主要以修改开源软件实现国产化。然而开源软件受开放协议限制,且开源软件使用并非完全可控,可能依然存在一些隐藏的风险。所以弈柯研发团队排除万难,决定从零开始,研发完全国产的开发语言和操作系统,Yxra开发语言自此诞生。YxraOS则由Yxra语言开发。”
“Yxra语言是一种开发简单、面向对象、分布式、高性能、多线程、动态性等特点的开发语言。下面介绍Yxra语言的几个重要特性。
1.简单易学Yxra是一种完全面向对象的编程语言。出于安全性和稳定性的考虑,Yxra语言去掉了C/C++语言支持的几个不易理解和掌握的数据类型:指针(pointer)、联合体(unions)和结构体(structs)。而C/C++语言中联合体和结构体的功能,完全可以在Yxra语言中用类及类的属性等面向对象的方法来实现,这不但更加合理规范,而且还降低了学习难度。2.面向对象Yxra语言最吸引人之处,就在于它是一种以对象为中心、以消息为驱动的面向对象的编程语言。面向对象的语言都支持封装、继承和多态三个概念,Yxra语言也是如此。3.可靠性Yxra语言具有很高的可靠性。Yxra运行时实施检查,可以发现数组和字符串访问的越界;另外,Yxra语言提供了异常处理机制,比如除数为零,空指针等。4.支持多线程Yxra语言在两方面支持多线程:一方面,Yxra运行环境本身就是多线程的,若干系统线程运行,负责系统维护等系统级操作;另一方面,Yxra语言内置多线程机制,可以大大简化多线程应用程序开发。5.支持网络编程Yxra语言通过它所提供的类库可以处理TCP/IP,用户可以通过URL地址在网络上很方便地访问其他对象。”
看了看,,还是没有撼动 Keil C51 .。。叹口气,走了。
大佬加油啊{:4_196:} 楼主加油! 俺们做小板子,不需要高级编程特性,俺们只要简单易用的有持续维护支持的C编译器,牛上天的技术塞不进小芯片有啥子用. 没有指针像少了灵魂,回头一看,是面向对象啊,那没事了{:ciya:} 网老四 发表于 2026-2-4 15:25
俺们做小板子,不需要高级编程特性,俺们只要简单易用的有持续维护支持的C编译器,牛上天的技术塞不进小芯片有 ...
此话实在,解吾之困!不同的芯片,不同场景,不同的应用,自然应该有不同层次的工具,天道亦如此。
打破封锁,可从小事做起,我将继续前行!
STCIDE + 金水151 + AIapp-ISP:全国产纯绿色的80x51单片机软件开发工具链
https://www.stcaimcu.com/thread-10532-1-1.html
(出处: 国芯人工智能技术交流网站)
Ai8051U单片机,从入门到精通(9):金山151-RTOS单片机实时多任务操作系统
https://www.stcaimcu.com/thread-10771-1-1.html
(出处: 国芯人工智能技术交流网站)
期待新语言。这次STC32G144K芯片不仅存储空间扩大了很多,而且加入了DSP单元,运算能力极大提高,这个系列的芯片未来加入AI边缘计算是完全可行的。由于其性能发挥受制于C251编译器,为STC32位的单片机开发国产的编译器,实现多种语言编程,这还是科学研究的一块处女地。愿君多努力,更上一层楼 _奶咖君_ 发表于 2026-2-4 10:51
看了看,,还是没有撼动 Keil C51 .。。叹口气,走了。
大佬加油啊
啥叫撼动Keil,我直接把C+Keil干翻了。下面是Pn口程序,不管写什么程序,眼界非常重要。
package yxra.device.inner;
/**
* GPIO
* Pn:不同STC单片机P口数量以及管脚不同
*/
public class GPIO{
//P口索引
// 索引:0-7,根据芯片确认
private int portIndex;
//P口模式
// 模式:0-准双向口;1-推挽输出;2-高阻输入;3-开漏输出;
private int portMode;
public GPIO(int portIndex,int portMode){
this.portIndex=portIndex;
this.portMode=portMode;
setGPIOMode(portIndex,portMode);
}
} 网老四 发表于 2026-2-4 15:25
俺们做小板子,不需要高级编程特性,俺们只要简单易用的有持续维护支持的C编译器,牛上天的技术塞不进小芯片有 ...
唉,不知道说啥好。我不正在把面向对象塞入小芯片嘛。64K+4K够了。 杨为民 发表于 2026-2-4 19:48
期待新语言。这次STC32G144K芯片不仅存储空间扩大了很多,而且加入了DSP单元,运算能力极大提高,这个系列 ...
多谢。Yxra语言开发的并非面向STC,是面向所有的硬件,可以相互移植。比如你在STC上设个计数器,这个代码可以直接移植到ARM上,因为硬件差异在Yxra面向对象时屏蔽了。
页:
[1]
2