第28章

“不是,就是刚好有空,去看看你,你忙你的没关系,我也知道你家在哪,不用接我,主要是好久不见,我想你了,顺便照顾你两天。”林宇觉得自己比第一次谈恋爱时还像毛头小伙子,但是却忍不住各种冲动。

调出来手机上的日历看了一眼,算了算,距离上次他去S市也过去快两个月。整天埋头在工作中无暇他顾,此时才发现原来他们确定关系之后已经过了这么久。这一瞬间,连续加班外加熬夜睡眠不足的疲惫之下,韩邵晨发现自己思念恋人的情绪突然涌上心头,“我也想你,那我尽量把下周末空出来。”

“不用不用,你别又为了空出周末死命加班,只要晚上回来让我看到就好啦,我中午也可以去找你,陪你吃个午饭嘛。”林宇生怕韩邵晨太累,“别总是熬夜,太伤身体。我就跟你说一声,你休息吧,早上也没睡好,今天晚上就别看协议什么的了,好好睡一觉,晚安啦。”

“嗯,晚安。”韩邵晨摸摸胸口,发现自己又开始期待了起来。

早上韩邵晨整理晨报和回复各种邮件期间,李志刚呼了好几次让他去实验室。韩邵晨把比较重要紧急事务处理完,走进实验室的时候,就听见小小的滋啦声,音箱接触不良似的发出噪音。

原来是谭明明刚好在调音频模块,外接了个小小的音箱,滋啦滋啦的杂音中偶尔冒出一两串音符。一个几乎不听歌的人也能听出来旋律里演奏的是《采蘑菇的小姑娘》。

终端设备在软硬件开发的过程中,一般都是先一个模块一个模块调通的。硬件搭载的最小系统上,包含了必备的中央处理器,内存,时钟和协助调试的串口用来打印调试数据,先保证能顺利跑起来linux最小系统。在这个基础之上,需要调什么功能就加载什么模块。比如韩邵晨在调的USB,此时谭明明在调的音频。

我们用的手机就是终端设备中的一种,能够流畅的播放电影,听音乐,上网,以及和电脑互联传照片……这些功能在最初的时候,都是软硬件工程师们一个功能一个功能实现起来的。

先是用可硬件编程的调试板加载硬件逻辑,再下载软件代码进行调试,等功能稳定之后,再把可编程的硬件逻辑做成真正的硬件实体,进一步调试。把每个硬件模块就像做拼图一样拼在一起,由软件联合调试通过之后,再由工业设计师设计出的漂亮外壳包装起来,最终拿到用户手上的才是小小的手机。

当然这些事情是很多人同步进行的,不然一个手机做十年也做不出来。

旁边谭明明的徒弟陆思源在嚎叫:“师傅你换点流行歌曲好不好啊,最好每次测试的时候都放不一样的歌,这样就当是听背景音乐了。”

谭明明没好气地翻个白眼:“音频测试的数据也是单独做出来的,这都是以前的样本,直接拿来用的,我是有多闲做一堆歌给你听?”

韩邵晨走了过去:“已经能出声了?”

谭明明嘿嘿笑:“师傅你都通宵搞定USB了,我也不能太落后啊,前两天音频的逻辑才出来,速度很快吧?”

“不错,杂音太多,找找原因。”韩邵晨肯定了谭明明的进度,随即摇摇头,“不算搞定,只是调通了控制传输,找到设备描述符而已。”

“控制传输通了,数据传输就很快了。”一旁的李志刚插话,“逻辑都下好了,就等你啦。”

韩邵晨坐了下来,从裤兜里掏出手机轻轻放到桌子上,开始调试USB数据传输功能。

作者有话要说:

下一章就变日常多啦

第 30 章

在时不时响起磕磕绊绊的《采蘑菇的小姑娘》音乐中,USB Type-C的数据传输功能在一天之内顺利调通了,几乎没出什么差错。

而《采蘑菇的小姑娘》却始终杂音环绕,不见什么起色。

谭明明调了一天越来越沮丧,她知道韩邵晨很忙,也看过他写的那封长长的邮件,实在不想去打扰自己师傅,但是之前负责音频模块的软件人员正好出差,远程也没办法帮她调试,有点求助无门。

韩邵晨编了个小程序,让电脑通过USB接口进行反复的读写测试,看看功能是否稳定。李志刚在旁边看着他就在临近下班的时间里刷刷敲好代码,编译运行,也有些吃惊:“韩工,你除了在设备上写驱动程序和硬件,也懂在电脑上写应用程序啊?”

“这种小程序很快的,不用懂很多。”韩邵晨起身看到谭明明的表情有些不对劲,原本很难从外表体会别人心情的他,最近就像打通了任督二脉,居然能感觉到这姑娘现在很头大。

“怎么了?”韩邵晨走过去问。

“师傅啊!”谭明明像看到救星一样,就差扑过来抱大腿了,“师傅你有空吗?我怎么调声音都不连续,配置也看了好几遍,文档都被我翻烂了,实在是找不出原因啊。怎么办~”

韩邵晨拉了个椅子坐了下来,谭明明的眼睛都快冒星星了:“师傅,我有好好看文档,但是真的实在没发现问题,音频的硬件人员我也找他确认过了,软件配置也都对着呢,可是怎么是这个鬼声音呢?”

听了一天,韩邵晨心里多少有点谱,他也想让谭明明自己解决,但徒弟这副样子,实在有点看不下去,大致浏览了下配置代码,确实没问题。

再看音频播放数据搬运部分,韩邵晨点了点屏幕:“你这是把DMA当中断用了吗,一次才搬这么点数据,这么慢,声音肯定不连贯。”

“啊?”谭明明有些傻眼。

DMA(Direct Memory Access存储器直接访问)是用来实现高速外设和存储器之间自动进行数据传输,用DMA控制器来开始和结束数据传输。这样不用一直占用CPU来进行数据读写,同时速度更快,在需要连续不断的播放音频视频的场景下,用起来是很方便的。

韩邵晨边起身边说:“先去吃饭吧,应该就是这个原因。不要光看音频文档,DMA文档也看看,你这是从哪里拷贝来的代码,不知道根据使用情况调整一下传输参数吗?”