免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[FreeBSD] FreeBSD设备驱动和程序开发您知晓多少,积极分享送好书(获奖名单已公布2013-4-12) [复制链接]

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
41 [报告]
发表于 2013-03-14 11:49 |只看该作者
回复 40# send_linux


    用的uc浏览器,提交就那样了。

论坛徽章:
0
42 [报告]
发表于 2013-03-14 12:14 |只看该作者
本帖最后由 axlrose 于 2013-03-14 12:18 编辑

好书,支持
看了英文版的pdf, 英文太烂看得费力,很多也没看懂

看了中断那章,资源分配,还有 FreeBSD git仓库的代码,还是看明白在哪里设置中断号的, 像linux的通过request_irq() 指定中断号
现在FB也针对嵌入式启用设备树功能,中断这些应该是可以在设备树里指定的,不过代码上也得有地方去取得中断分配才对

看了Pi板子的支持在FB内核里支持得挺好的,而使用全志A10的那块板子CubieBoard目前FreeBSD的支持代码还比较少,进到目录里也没几个文件

FB内核分配函数调比起linux麻烦了点 (MALLOC_DEFINE 跟 kmalloc()),但有好处,可以通过userland的工具可以观察到核心分配内存的情况,因为是命了名的,比较好看出来哪个驱动占用内存历害,看了一下,里面都是以2^n来分配的
还有同步那里介绍互斥的类型就挺多的,英文太差,只看懂皮毛
newbus这个设计得非常好,模拟像面向对象的方式,不像linux模拟类大量使用了sys的功能
cv_wait方式,很像posix的线程通知方式

延时处理那块比较有意思
tsleep() 可以支持打断, 在延时的时间范围内,如果被其他地方wakeup唤醒立马就退出延时往后执行了,然后还有支持互斥配合的sleep等

taskqueue_enqueue()这个有点像linux的workqueue,不过还没搞明白,得继续学习
FB, OB, NB里面的驱动框架还不同,我还是把精力放在FB上得了

希望以后有条件在嵌入式上使用上FreeBSD, 现在FB的驱动上还比较缺乏,还有像很多框架的东西,比如linux的输入框架,用户只要很简单的就能实现多点触摸的功能,这个要是FB以后也有就太好了
现在开始做个积累,等有机会上FreeBSD嵌入式项目的时候不会手忙脚乱心里没底
等空闲的时候,打算弄个Cubieboard的板子跑一跑体验一下FB在嵌入式上的表现

评分

参与人数 2可用积分 +10 信誉积分 +2 收起 理由
ulovko + 4 淡定
gvim + 6 + 2 赞一个!

查看全部评分

论坛徽章:
0
43 [报告]
发表于 2013-03-14 12:32 |只看该作者
本期话题:
1、谈谈您在FreeBSD上使用和程序开发的经验
2、如果您还是Linux或者Windows下的程序员,说说FreeBSD和这些平台的区别

1. FreeBSD真正安在笔记本上使用才几个月的时间,后面也都放在虚拟机下跑了,平时经常关注FreeBSD, 以前用fb做桌面系统的时候,一直觉得升级是个麻烦事,虽然ports很方便,因为用了几年的gentoo,编译方式升级已经烦了,还是想用pkg方式,结果用pkg升级整个系统,根本不像pacman -Syu, apt-get upgrade, emerge 这些方便,不过现在好了有了pkgng,跑桌面用户有福了
  在FreeBSD下也没咋开发过啥,以前拿在linux下写的应用程序,然后原封不动用gmake编译直接就能跑了,到了用户层的东西跟linux没啥区别,我原来使用的vim, tmux, i3wm等都一个样,只要不是跟底层梆定得的东西问题都不大
,然后就是习惯了sysctl方式跟内核打交道的方式还是不错

2. linux下的折腾的人多,特别驱动方面,像我最近用的rtl的usb无线网卡和sdio的,从官方就能拿到现成的for linux源代码,编译insmod就能用了,而在FB下没找到,看到论坛也有人问这个网卡的驱动,主要是厂商不支持没办法,还有像linux现在的CAN框架整使用net那套里面,上层的iproute2工具就能很方便的访问,当个网络设备来处理
开发方式都差不多,在FreeBSD下写些小程序还是用的vim + Makefile,不过那个bsd的那套makefile做得太强了,重用性太好了,像写个helloworld应用程序还是驱动程序,没几行就搞定了
在linux下写些GUI工具使用的是Qt, 这个跨平台工具,在FreeBSD下也是一样,非常好用

评分

参与人数 1可用积分 +4 收起 理由
ulovko + 4 赞一个!

查看全部评分

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
44 [报告]
发表于 2013-03-14 14:57 |只看该作者
回复 42# axlrose

其实很多资料如果要翻译成中文,准确度很大程度依赖于翻译者的经验,如果做过类似的工作,准确率就很高。

FreeBSD的内核代码是非常简洁的,可读性非常高,目录归整的都很好。只是限于核心组开发,导致很多在Linux上跑得很好的硬件在FreeBSD上不能很好地识别运行。随之Arm的普及度提高,Arm的支持会越来越大。

FreeBSD自6以后,版本特性增加得很快,不像版本4,小版本号很大。主版本号变化,有些内核的接口也随之变化了,不过变化不是很大的。

tsleep只是挂起当前kthread,如果要唤醒,必须来自其他kthread. 字符设备可以用tsleep做一些等待操作。

   

评分

参与人数 1可用积分 +4 信誉积分 +1 收起 理由
gvim + 4 + 1 赞一个!

查看全部评分

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
45 [报告]
发表于 2013-03-14 15:02 |只看该作者
axlrose 发表于 2013-03-14 12:32
本期话题:
1、谈谈您在FreeBSD上使用和程序开发的经验
2、如果您还是Linux或者Windows下的程序员,说说F ...


网卡驱动,如果有源码,可以移植到FreeBSD的。

论坛徽章:
31
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43CU十二周年纪念徽章
日期:2013-10-24 15:41:34丑牛
日期:2013-12-01 10:11:07水瓶座
日期:2014-01-15 08:47:25
46 [报告]
发表于 2013-03-14 15:49 |只看该作者
真个真不懂,和linux的驱动开发相差很大???

论坛徽章:
0
47 [报告]
发表于 2013-03-14 16:07 |只看该作者
1、谈谈您在FreeBSD上使用和程序开发的经验
最开始是在虚拟机上装了,然后还是搭建web环境啥的,当时特喜欢ports;


使用呢,和linux还是有些细节不同的,例如:
默认好像是csh,不是bash
packages的安装好像是pkg_add -r
用户的增删:pw useradd[userdel] username 和 pw groupadd[groupdel]

当然最后还是安装的vim,默认那个用不惯,或者说没用两下就被我无情抛弃了

2、如果您还是Linux或者Windows下的程序员,说说F ...

曾经是,,想起08年,部门主管建议我读FB源码,后来一直就留了个心,留意着FB的消息;
对FB的印象就一直不知道为啥,特别好。。
哎呀,
荒废了不少时间啊,小子

中文资料少,,当然,要自己有心,还是能啃英文的

论坛徽章:
0
48 [报告]
发表于 2013-03-14 16:59 |只看该作者
本帖最后由 axlrose 于 2013-03-14 17:01 编辑

其实操作系统的东西,都是类unix的系统,很多概念都差不多
目前要丰富FreeBSD的驱动的话,排除从linux驱动移植过去 GPL的问题外,还需要开发人员同时熟悉linux和FreeBSD的驱动开发才行
毕竟现在大量的驱动能在linux下看到,很大的原因都是硬件厂商为了推广他们的硬件,所以去开发针对linux的驱动,我选的那个wifi芯片,听说今年一月份, 光一个月出货量就9kk, 如果他们移植到FreeBSD下,也能达到这个量的话,我想for FreeBSD的驱动肯定马上就出来了
加强英文和代码阅读很重要啊,光靠翻译文档我看短期是没啥大的希望的了
目前打算开发上层软件尽量考虑到跨平台的方案,底层嘛,平时学学FB
建议有FB开发经验的朋友,平时多写写BLOG之类的分享下经验,要不然google一下,能找到的参考挺少的,不像现在的linux,很容易搜索到大片的BLOG文章,社区需要大家的努力呀


说到使用习惯上,我安FreeBSD都要安上bash, vim , tmux这些,还是按linux应用层的那套习惯来,有时用着用着都忘了是在用FB

评分

参与人数 1可用积分 +2 收起 理由
ulovko + 2 欢迎分享 ^_^

查看全部评分

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
49 [报告]
发表于 2013-03-14 17:44 |只看该作者
现在研究fb驱动还有市场吗??

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
50 [报告]
发表于 2013-03-15 09:55 |只看该作者
工作中不用FreeBSD,缺乏学习的动力
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP