笔记
stevewang1979
这个作者很懒,什么都没留下…
展开
-
No module named google.protobuf
ImportError: No module named google.protobuf原创 2022-08-13 19:03:30 · 921 阅读 · 0 评论 -
usim_init_log
c: 00 A4 00 04 02 3F 00r: 61 1Fc: 00 c0 00 00 1Fr: 62 1D 82 02 78 21 83 02 3F 00 A5 03 80 01 71 8A 01 05 8B 03 2F 06 04 C6 06 90 01 00 83 01 01 90 00原创 2021-04-10 15:58:32 · 140 阅读 · 0 评论 -
2021-01-05
sim select在实际应用中,会出现对一些特殊卡,使用通过fileid 来select会失败,改用路径选择可以成功。00 A4 00 04 02 6F B7改用00 A4 08 04 04 7F FF 6F B7。原创 2021-01-05 16:36:51 · 118 阅读 · 0 评论 -
用rawsock接收数据,由于发包间隔过快,导致recvfrom丢包
问题:用电脑发包,由于发包软件发包间隔最小只能为1ms,测试过程没有丢包。用dsp发包,发包间隔为几时微妙时,recvfrom出现丢包。解决:通过sysctl命令修改内核收发buf后,不丢包。sysctl -w net.core.rmem_default = 16777216 //16Msysctl -w net.core.rmem_max = 16777216 //16M原创 2014-02-17 10:29:56 · 2610 阅读 · 0 评论 -
无锁环形队列在网口接收(双线程--一个入队,一个出队)的应用
使用rawsock,在调试网口的收发时,接收线程需要recvfrom数据,入队;另一个线程出队,供回调函数处理。由于接收网络报文比较快,为了能够及时接收不丢包,使用了无锁环形队列。基本思想是只要有数据就入队,操作队列尾部;出队操作队列头部,追赶尾部,直到追上为止。理论上,如果入队很快,出队比较费时,会导致数据覆盖。实际中,可以通过调整队列长度来尽量避免。在测试过程中,还没有出现丢包和覆盖。原创 2014-02-18 21:13:05 · 1189 阅读 · 0 评论 -
u-boot编译出现的错误
修改boards.cfg相应板卡的名字后,对应的board下wentj原创 2014-06-19 20:22:46 · 557 阅读 · 0 评论 -
网络相关文章--学习
http://gmd20.blog.163.com/blog/static/16843923201011194136744/转载 2014-01-07 21:58:06 · 459 阅读 · 0 评论 -
yocto、buildroot等的区别
ArchLinux is just an ordinary desktop distro, that is distributed via prebuilt ISO images.Buildroot, Yocto and Angstrom are embedded Linux distros, where you download the build system and then confi转载 2015-03-17 10:24:28 · 4603 阅读 · 0 评论 -
关于slab分配---学习网络skb相关
函数kmem_cache_create()所创建的缓冲区中还没有包含任何Slab,因此,也没有空闲的对象。只有以下两个条件都为真时,才给缓冲区分配Slab:(1) 已发出一个分配新对象的请求;(2) 缓冲区不包含任何空闲对象; 当这两个条件都成立时,Slab分配模式就调用cache_grow()函数给缓冲区分配一个新的Slab。其中,该函数调用kmem_gatepages()从伙伴系统原创 2015-04-24 16:44:35 · 779 阅读 · 0 评论 -
网口问题-原因
1.Serial0 is up, line protocol is down 若 interface up, 但 line protocol down, 这个是 Data-link Layer 的问题. 可能原因:keepalive 问题, 或是 frame 封装的问题. 检查一下是否需要设定 clock rate, 以及两边封装方式是否一样. 一般来说比较不会是 keepalive原创 2015-04-30 13:22:49 · 2337 阅读 · 0 评论 -
调试i2s/pcm笔记
使用wm8978芯片通过i2c接口配置注意以下几点:1.除了注意bit顺序外更要关注字节顺序。如果字节顺序不对,听到的是噪音。16bit方式低字节在前;24bit方式共3个字节比较特殊,比如原数据是 0x52 0x49 0x46,要调成0x49 0x46 0x52(示波器上看到的数据)。2.录音可使用wm8978的auxl和auxr通过line in线连接手机或电脑测试:手机播音,wm897...原创 2017-06-03 17:43:49 · 2376 阅读 · 0 评论 -
用gpio两个管脚模拟can总线
1.gpio两个管脚连接can收发器(sn65hvd256),模拟can控制器,实现can总线的数据接收。2. 配置gpio rx管脚中断模式为下降沿触发,中断到来表示数据的开始(sof),这时定时器Timer开始计时(时间到触发中断)。3. 配置Timer计时单位为20us(使用的can协议速率为50kbps),在Timer中断到来开始读gpio rx管脚,根据CAN协议解析个段内容。调试出现的...原创 2018-01-25 17:08:40 · 6018 阅读 · 1 评论 -
调试otg-host-device
碰到如下问题:1.使用外部phy(usb3300),配置为host模式,始终不能检测到device connect(HPRT.PrtConnDet始终为0),待定位。2.使用内部phy,配置为host模式,读出来始终不为host模式(GINTSTS.CurMod始终为0)。3.使用外部phy,配置为device模式,枚举完成后速率为全速模式,配置的是高速模式。原因待查。4.使用内部...原创 2018-08-01 10:56:46 · 1044 阅读 · 0 评论 -
调试ddr
使用仿真器连接板卡,手动读写ddr。修改频率,pll,根据模型生成的control和phy的参数,目前频率配置为184m时,有些地址不能写入,有的可以写入,读操作时内容一会变化。频率配置为80m时,所有地址可读可写,用仿真器读取时有的地址内容会变,但也会读出所写的值。使用程序往ddr写完数后,一次只读一个地址(4个字节)的内容测试(测试ddr不能用,程序下到sharememory(64k)...原创 2018-08-01 11:13:11 · 750 阅读 · 0 评论 -
memalign函数
在GNU系统中,malloc或realloc返回的内存块地址都是8的倍数(如果是64位系统,则为16的倍数)。如果你需要更大的粒度,使用memalign。这些函数在头文件“stdlib.h”中声明。 在GNU库中,可以使用函数free释放memalign返回的内存块。 函数:void * memalign (size_t boundary, size_t size)原创 2013-10-15 21:31:43 · 9796 阅读 · 0 评论