4079|18

7815

帖子

56

TA的资源

裸片初长成(中级)

楼主
 

uS 计划预告 与 咨询 [复制链接]

uS的直播已经持续了一个多星期了。
虽然“进展比较缓慢”,但是,它一直在我的预料中顺利进行。
不过,我打算在直播的同时,“插播“ 这么一个小帖子。收集一下大家对它的看法和这种直播方式的感受。

首先,先来个总体计划。
本来这是打算明天才发的。
此帖出自编程基础论坛

最新回复

围观一下 lz加油  详情 回复 发表于 2013-8-10 20:37
点赞 关注
 

回复
举报

7815

帖子

56

TA的资源

裸片初长成(中级)

沙发
 

uS 总体规划

uSCore               TimerTask
                     Console
                  
uS_Periphal          基本上都是IO类应用
                     1.标准/成熟 通信协议 如 i2c spi 等
                                         2.raw use。这指的是普通GPIO使用。包括基本的显示人机界面,LED/数码管/LCD/按键....
                                                                          以及剩下的所有应用,它们基本都是IO的变通应用;
                                                                                                          
                     这部分计划:
                                         1.通用意义的 动态扫描数码管;
                                         2.不特别区分 独立按键 或者 矩阵键盘,只考虑一个内存映射机制,让按键脱离具体硬件连接情况;
                                         3.几个标准协议 IIC SPI(模拟的)
                                         
                                         至此,我们就算这一部分计划完成,剩余的会根据需要或者安排后续补充;

uS_GeneralUlities    这一部分,实质上等同于一个公用函数库;
                     这个东西,和第二部分一样,不存在什么什么时候完成的说法,我们只能在应用中,不断把我们发现的
                     通用结构,总结,提炼出来。独立封装起来。
                     比如我们在实现console中使用到的大量 数组初始化,复制 以及 那个广泛意义上的 超时机制。
                     
                     应该说,当我们按顺序完成 Periphal的计划时,我们的uS v1.0就出来了。
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

板凳
 
在 这个 直播 的 预告贴里

我的想法很简单,就是做一个独立于单片机的硬件管理框架。
我很感激两个方面的声音:
1.是一群热情激励我的朋友。他们热烈的反响让我备受鼓舞,精神抖擞;
2.是一群更专业,具有丰富经验的朋友,他们向我陈述进行这样一个尝试的必要性,他们告诉我这样的想法并不新鲜,这样的框架/系统也不缺乏,他们告诉我,这个 通用 的梦想 过于遥不可及......


然而,在开始一阵子的热烈讨论过后,我不再理会这些善意的提醒。
因为,无论是我的个人行事风格,还是受到 极限编程 这些真正来自程序员群体 提出,发展 的 有别于传统的 开发思想 都在激励我

有想法就要积极去实现。

我不在乎自己在走别人的的老路,我也不指望最后会做出什么结果。
我只是希望通过自己的手,做出我需要,我希望得到,看到的东西。

同时最重要的是,我的直播不是玩闹
我是在采用一种全新的思路做这件事。
我不仅要你能看到它的源码,我还要让你知道它是怎么一步一步从零建立起来的。


没有先验部分,没有什么神秘的部分,所有的代码都是我们写的。
因此,我们对它知根知底,我们可以随意修饰它,直到它是我们想要的样子。


在我眼里,这正是开源最伟大的意义。
我们用自己的方式,按照自己的心意,改造世界和自己的关系——

正如我在实现中遇到的具体问题和我的退让。
所以,这并不是一个自我主义膨胀到妄图纯粹改变外界适应自己,但也不是一味委屈自己迁就各种合理或者不合理的部分。

这是一个互动。

[ 本帖最后由 辛昕 于 2013-8-7 01:14 编辑 ]
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

4
 
作为另一个最重要的事情。
于我个人而言,我花了不少时间,写直播贴。
当然这是我的个人行为与人无关。

而我的目的也只有两个:
1.试图展示自己的编程思路方法,以供讨论,斟酌,或者互相学习。
2.让这个uS从一开始就 明明白白,从零开始,如何得来,都有来龙去脉。


这样的一个框架也许会有更强的生命力,至少我个人是这样想的。

然而,我承认我写的很罗嗦,因为它真的是直播实录。
我写帖子的过程就是我实现这个框架的过程——虽然其中很多方法,手段我早已熟悉。

说这个做法 啰嗦,所以也许就反而掩盖了更多有用信息 的网友大有人在。
这方面我会考虑控制自己的啰嗦毛病。
但更重要的是,我关心的是,这种直播的方式是否你们所期待的?
假如不是,我是不是直接上每一个过程的结果即可,甚至直接上传源码?

写注释就可以了?

另外就是,因为我暂时完成的这些功能——以及计划里的部分,都不复杂,而且确实如我所说,基本上任何8位机都可以做。
而在我看到的回复里,并不乏有人对此热情的。
那么,你们是否有也试着在你们自己的单片机上做类似的工作的想法呢?
我非常期待看到类似的内容。

理解一个编译器最好的办法是去构建一个编译器。
学习系统和框架也一样。
所以我才会选择在我还没有任何使用操作系统经验的这个时候来干这件事情。
非常期待你的加入!


这个框架,实质上是非常有现实意义的。
你可以看到,它是简单的,它每一个部分都是 可独立执行部件,是真正的模块化产物。
而假如最终我们的整个框架都成功实现,那么以后你无论是在同一个单片机上做不同的项目
还是在不同的单片机上做相同而不同的项目
你所需要做的往往只是简单的寄存器设置改写 或者 积木式拼接。



当然这过程中还有很多坛友的积极反馈,我本想慢慢看所有回帖,总结出来,一并提问,今晚看来不行了,已经1点半了。
最近几天休息都不太好。
还是休息为好。

[ 本帖最后由 辛昕 于 2013-8-7 09:21 编辑 ]
此帖出自编程基础论坛
 
 
 

回复

2781

帖子

417

TA的资源

五彩晶圆(中级)

5
 
菜鸟帮顶!
此帖出自编程基础论坛
 
个人签名
 
 

回复

275

帖子

0

TA的资源

纯净的硅(中级)

6
 
顶顶~
此帖出自编程基础论坛
 
个人签名做自己喜欢的设计就是一种幸福~~~
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

7
 
支持一个
此帖出自编程基础论坛
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

8
 
这个框架可不可以理解成外设库?感觉还是不太懂到底做什么
此帖出自编程基础论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(中级)

9
 
支持!既是探讨也是学习
此帖出自编程基础论坛
 
 
 

回复

826

帖子

3

TA的资源

五彩晶圆(初级)

10
 
支持。。

架构师的工作;设计这个框架,

这应该是个团队的工作,应该是一个程序的积累,一般建议每个工程师结束一个项目时总结,把有用的程序段,文件代码,片段化,文档规范化,这样方便调用( 不仅自己还有团队,文档的价值在于此)。辛昕做的这个其实是每一个研发团队及研发公司一开始就要思考的问题。只有思考这个这个问题并且去做了才会有真正的积累,他这里是个uS.
但其实每个团队、公司都应该有自己的一个平台,这样才不会每个项目重新开始;每个都各自为战;

恭喜辛昕!

不管uS成功与否,你通过这个可以得到升华,不在于写代码的能力,不在于某种编程语言,在于思维方式,思想。
此帖出自编程基础论坛
 
 
 

回复

135

帖子

0

TA的资源

纯净的硅(初级)

11
 
顶起,准备入手ucos的学习
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

12
 

回复 8楼astwyg 的帖子

可以这么了解,外设的部分是占据绝大多数的
虽然现在还没做到外设。

不过它比一般的外设库要更加通用。
此外,会包含简单的基本的应用程序框架支持
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

13
 

回复 10楼laoguo 的帖子

知音!
此帖出自编程基础论坛
 
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

14
 

回复 12楼辛昕 的帖子

还是没有非常明白.能举个例子么?比如很多M3器件的外设库可以用来简化设计,屏蔽寄存器配置,便于移植,那这个uS的主要目标是?
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

15
 

回复 14楼astwyg 的帖子

与此类似
但我要实现的是
它不是M3 或者M4的器件库

它是通用的。

但是有一点非常重要。
它需要应用者提供 基于这些元件的具体的寄存器设置(也或者,配合你刚提到的这些 M3 M4的器件库 来共同完成应用)

简单地说,我们举个例子
一个LED闪烁程序。
我需要你给我基于M3的或者M4的gpio具体操作的寄存器函数。
但是除此之外,你不用做任何别的事情,你不用关心如何实现延迟。

LED只是一个非常简单的例子
因此很多时候你会觉得这种分离似乎很多余

然而考虑一种情形
比如我前面提到的那个 串口的超时判断接收函数

如果你用M3的库写,也许你不用写任何具体的寄存器操作
但是你要自己考虑如何实现定时器,如何在每个字节接收到以后才把它存到一个你自己定义的数组缓冲里
再然后你要自己完成判断字节之间是否超时.....

你所免去的工作仅仅是不需要写这些涉及的底层寄存器操作而已。


这当然是一项不小的工作量。
但是,说到底,它终归只是一小部分。
而我的这个uS可以提供的是除了这些底层寄存器操作以外的,我所实现的功能的全部代码。
你只需要调用即可!

这样说足够了吗?
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

16
 
我封装的是一种功能。
而不是与器件相关的操作

在这个意义上来说,它和st的固件库,以及那些M3 M4库都不一样
他们是在不同的角度上进行封装

它们这样做的目的只是为了提供一个它们芯片上的内设的使用基础。

而我是从实际应用需要用到的功能出发。

我之所以没有进一步实现到底层的寄存器
那是很明显的,因为面对那么多种单片机,我是不可能做到这一点的。

假如我做到了,那恐怕,所有半导体厂商都会选择向我购买这一个庞大的体系。

我做不到,也不打算那样做。
因为我只想实现绝大多数常用功能的通用实现。
并且实现好,达到足够水准的程度。
此帖出自编程基础论坛
 
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

17
 

回复 15楼辛昕 的帖子

想做通用了还是挺难的.加油
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

18
 

回复 17楼astwyg 的帖子

难和不难,我一点都不关心
我只在乎 我想要得到它~~~
此帖出自编程基础论坛
 
 
 

回复

34

帖子

4

TA的资源

一粒金砂(中级)

19
 
围观一下 lz加油
此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表