发新帖我要提问
123
返回列表
打印

使用库文件开发自己的产品,稳定性和移植性是最差的。

[复制链接]
楼主: tzgok
手机看帖
扫描二维码
随时随地手机跟帖
41
njshenxian| | 2021-2-23 21:48 | 只看该作者 回帖奖励 |倒序浏览
这个应该就像面向对象编程使用dll编程和纯粹的C语言编程一样吧。工控里的用功能块和自己编写一样,很多没用的比较占PLC存储空间。

使用特权

评论回复
42
andyxly| | 2021-2-23 21:49 | 只看该作者
tzgok 发表于 2021-2-23 10:13
做开发板的那帮人恨不得所有例子程序都用官方的库文件,这样他们的售后服务就大大减少了,如果例子代码都 ...

我觉得还是搞汇编,或者干脆就直接机器码,这样才能更好的理解机器的动作方式。

使用特权

评论回复
43
yjmwxwx| | 2021-2-23 22:51 | 只看该作者
库保密性差,写的程序容易被人看懂,固件被反汇编后能被直接识别出函数名字,别人要逆向你整个程序的时间成本会少很多。背后总是有小偷盯着你的程序,比如竞争对手想抄袭你的算法,山寨厂家想仿制你产品。

https://bbs.pediy.com/thread-265660-1.htm
最近免费帮老毛子检查固件序列号保护安全,国内一些盗版的骗买家说自己注册的号是正版的而且要300元,我分析出算法马上免费公开了,卖盗版随后把商品下架了,作者新版本更新了保护算法,这个也已经被我分析出来了,等发现有盗版的卖我再公开修改方法。













使用特权

评论回复
评论
tzgok 2021-2-24 09:00 回复TA
厉害!!诋毁汇编的可以闭嘴了。。C语言/库不是什么高级货,会汇编的人谁不会C语言?,但是大部分只会玩玩库文件的有几个懂得玩汇编?不要忘记:你手上的MDK/IAR/AD/CAD等等都是玩汇编的帮你DIY出来的KEY。 
44
linguanghua| | 2021-2-24 09:02 | 只看该作者
本帖最后由 linguanghua 于 2021-2-24 09:18 编辑

我 10年前刚刚接触STM32也有楼主这种想法。不过很快就觉得这种想法很幼稚。
类似于:使用OS写程序都是不了解单片机,是懒人,应该自己实现资源管理,上下文切换,队列,消息。更加得心应手。

使用特权

评论回复
45
linguanghua| | 2021-2-24 09:14 | 只看该作者
tom_xu 发表于 2021-2-23 10:00
用野火的原话说,开发STM32还用寄存器操作的方式写代码,不如回老家种红薯。 ...

因为有些人就写过一些流水灯,以为程序都是这么简单。

使用特权

评论回复
46
tzgok|  楼主 | 2021-2-24 09:21 | 只看该作者
linguanghua 发表于 2021-2-24 09:14
因为有些人就写过一些流水灯,以为程序都是这么简单。

没错,不用库文件的人,只会玩流水灯。。

使用特权

评论回复
47
圣骑士by| | 2021-2-24 09:28 | 只看该作者
使用库的可移植性比寄存器要高很多。说移植性不好的说明库用的不对。

提高可移植性需要做的是用硬件抽象层屏蔽硬件差异。

使用特权

评论回复
48
coody| | 2021-2-24 13:52 | 只看该作者
写PC软件的也不用库吗?

使用特权

评论回复
49
Prry| | 2021-2-25 09:25 | 只看该作者
1、简单的的外设可以用库,控制个IO,用库和寄存器没差多少工作量;你去写个USB、SDIO、以太网外设试试?
2、8位机寄存器没毛病,16位勉强,32位、64位还用寄存器,这就是浪费生命;
3、研究配置一堆无意义的寄存器,为何不去研究一个算法、框架、系统,这些与硬件无关;
4、程序员的时间才是最宝贵的,用库增加了cpu跑的时间,但大大缩小产品开发时间,cpu的时间最不值钱;
5、移植性差说明的软件架构不好;软件架构好,只需更换BSP层,上层业务完全无需改动;
结论:非必要场景不用寄存器方式。

使用特权

评论回复
50
菜鸟同学| | 2021-2-25 10:30 | 只看该作者
我不支持你的观点,什么东西都要刨根问底,这个就是做MCU的 职业病。
很多东西都用别人做好的东西,你以为自己写的就是百分百的完美,没有BUG。
其实BUG更多,别人的经过千锤百炼。很多做技术的都认为别人比他差,他是天下第一。

站在别人肩上,能使用别人的代码,使用别人的资源,才能完成大项目。
什么库函数 不好查BUG,说难听点,MCU都封起来了,你为了硬件稳定,你干脆自己设计MCU分离电路算了。

使用特权

评论回复
51
FYLZLXD| | 2021-2-25 20:47 | 只看该作者
原厂写代码的人对寄存器熟悉程度会不如社会上的人?你写的代码会好过原厂的人?

使用特权

评论回复
52
tom_xu| | 2021-2-26 09:05 | 只看该作者
菜鸟同学 发表于 2021-2-25 10:30
我不支持你的观点,什么东西都要刨根问底,这个就是做MCU的 职业病。
很多东西都用别人做好的东西,你以为 ...

有道理,工程师设计产品,实际验证过的电路,代码直接拿来用就行。

使用特权

评论回复
53
misra| | 2021-2-26 09:39 | 只看该作者
这个还是要看应用场景。比如效率要求特别高  那么有些库可能就不行

再比如 安全性有要求,要拿到一些认证
还有就是团队的开发经历  有没有对相关库特别熟悉的  
有没有必要重新造轮子

现在这个时代 百花齐放 应用场景极其碎片化的时代 大家都在造各种软件轮子 硬件厂商也在造硬件轮子
总之 都为了赚钱 哈哈

总结 用什么不重要 能赚钱才是最重要的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则