留言板

路过的蜗牛们,在这里留个脚印吧~

蜗窝欢迎各种言论,谈天说地、技术交流、问题求救、跳槽招聘、牢骚抱怨……哈哈。

评论:

韩应波
2017-10-23 16:23
大神你好!
   我是一个前端开发人员,最近在开发一个蓝牙开锁的app,使用webapp进行开发,但遇到了难题。因为需要通过广播的方式来广播密码(我看到您的文章中有提及这种方式)。因为我对原生java代码不熟悉,所以不知道怎么来实现发送自定义数据的广播。希望能够得到您的指点。万分感谢
wowo
约 9 小时前
@韩应波:抱歉啊,我对java也不熟悉的:-(
hutian
2017-09-12 11:01
thanks for sharing the linux developing experience! 评论内容需包含中文?
wowo
2017-09-12 13:31
@hutian:呵呵是的,这个秘密都被你发现了,赞!!
主要是很多垃圾广告留言,都是直接发一堆网址,用这种方法可以屏蔽一些~~
黄小俊
2017-08-15 14:30
wowo大神,以前在蜗窝上看到的分析UBOOT的Makefile的文章,里面有一个用Makefile构建工程的例子,现在怎么不见了?
wowo
2017-08-15 16:07
@黄小俊:你是指这个吗?
http://www.wowotech.net/u-boot/boot_flow_1.html
或者用uboot的tag查查?
http://www.wowotech.net/tag/u-boot/page/2

文章应该不会删的。
黄小俊
2017-08-16 11:14
@wowo:原文地址是:http://www.wowotech.net/u-boot/375.html?utm_source=tuicool&utm_medium=referral
在网上能搜到别人的转帖:http://www.tuicool.com/articles/J3U3Arz
wowo
2017-08-16 11:18
@黄小俊:呵呵,这是之前一个老兄写的,后来因为一件小事一言不合就把自己的文章全部删掉了。你可以先看网上转贴的吧:-)
奔跑的蜗牛
2017-08-09 17:10
最近在做关于light sensor和proximity sensor的项目,对高通adsp侧的代码不熟悉,能否有大神讲解一番
omoma
2017-05-15 17:47
tuonioo
2017-04-26 16:52
hi,大神你好, 最近在看 内存屏障的问题。有个问题想请教一下。
    在我的理解 多数用户态软件开发设计多数情况不需要考虑memory barrier的问题。因为共享/临界资源的保护已经在多线/进程 设计时候(采用locker 之类的) 消除了cpu cashe 不同步问题。 但是在想用无锁算法的时候, 比如用__sync_add__fetch 系列函数就需要考虑memory barrier. 这个理解正确吗?
    另外查了很多文档 关于__sync_synchronize。 但是 讲解都比较模糊, 说__sync_synchronize 其实就是内核的mfence(). 可是我的理解 __sync_synchronize()针对的应该是 gcc 编译器以及cpu 而mfence 就只是针对cpu吧?
linuxer
2017-04-26 19:12
@tuonioo:在我的理解 多数用户态软件开发设计多数情况不需要考虑memory barrier的问题。因为共享/临界资源的保护已经在多线/进程 设计时候(采用locker 之类的) 消除了cpu cashe 不同步问题。 但是在想用无锁算法的时候, 比如用__sync_add__fetch 系列函数就需要考虑memory barrier. 这个理解正确吗?
-------------
同意你的观点。Linux内核中提供的同步原语都隐含了memory barrier的功能。

另外查了很多文档 关于__sync_synchronize。 但是 讲解都比较模糊, 说__sync_synchronize 其实就是内核的mfence(). 可是我的理解 __sync_synchronize()针对的应该是 gcc 编译器以及cpu 而mfence 就只是针对cpu吧?
-------------
__sync_synchronize是full memory barrier,其实说memory barrier的时候其实就是针对CPU而言的,阻止编译器重排指令的叫做optimizer barrier。
tuonioo
2017-04-27 13:34
@linuxer:谢谢 linuxer 大神,
   __sync_synchronize是full memory barrier,其实说memory barrier的时候其实就是针对CPU而言的,阻止编译器重排指令的叫做optimizer barrier。
    所以 也就是说 __sync_synchronize 并不们祈祷 optimizer barrier的效果, 仅仅是一个 full mb。
linuxer
2017-04-27 19:26
@tuonioo:不是这样的。
optimizer barrier实际上只会被编译器感知到,对于CPU而言,它根本不知道optimizer barrier的存在,因此optimizer barrier实际上是software barrier。而memory barrier是对应CPU指令,可以被cpu感知到的,因此它是hardware barrier。任何hardware barrier都是隐含了software barrier的功能。
tuonioo
2017-04-28 09:38
@linuxer:linuxer大神谢谢, 我的问题得到了解决。
Jay
2017-03-27 20:43
请教个armv8相关的问题,core实现了EL3/EL2,那么启动的时候core在EL3,这个时候的代码执行也是在EL3,那么boot代码把bootloader(uboot)load进来后,这个时候需要切换EL吗?如果不切,那么uboot同样也是执行在EL3,uboot加载kernel,(kernel 一般都是在EL1运行),那么uboot就需要切换到EL1去吗?
linuxer
2017-03-28 11:43
@Jay:http://www.wowotech.net/armv8a_arch/arm64_initialize_1.html
上面这篇文章可以回答你的疑问。
Jay
2017-03-31 18:05
@linuxer:谢谢 linuxer
foolishungry
2017-03-22 20:27
wowo你好!目前在做一个项目,想要利用BLE设备的RSSI来检测周边的处于ISM频段的无线信号状态(类似于http://www.sharebrained.com/2011/05/24/ubertooth-spectrum-analysis-fun/)

但是发现普通的BLE设备读取RSSI时,要么是通过Advertising PDU得到advertising channel的RSSI,要么是建立连接后监测该连接的RSSI。我想要实现的是持续扫描BLE各个channel的RSSI,不知道这在一般的BLE设备上能不能实现?

在CC2540手册上看到了direct test mode,其中的HCI_EXT_ModemTestRxCmd似乎可行。但不知道一般的设备(如android手机)能否实现这样的对各个channel的RSSI持续采样?

最后,感谢wowo!在这里学到了很多!
wowo
2017-03-23 10:58
@foolishungry:其实从协议的角度看,需要尽量封装以屏蔽技术细节,以BLE协议为例:经过物理层的封装,在链路层就已经不再有物理channel的概念了。这样对产业化应用来说,当然是非常好的。
不过,来看你的需求,你需要每一个channel(我就当作物理通道了)的RSSI,显然,这与协议封装、抽象的天性是相悖的。
因此,不要指望能从成熟的、产业化的解决方案中找到答案!
你的需求,随便用一个2.4GHz的tranceiver都能搞定(想利用现有的手机等蓝牙功能,就不太可能了)。
alibaba
2017-01-23 16:22
希望蜗窝的大牛能介绍一点跳过文件系统操作块设备的文章,网上找了一下资源太少了,
wowo
2017-01-25 09:04
@alibaba:跳过文件系统?直接操作/dev/中的设备节点吗?不知道你要了解什么,没有资源,去kernel看看代码就行了:-)
helloworld
2017-01-20 13:36
</div></span>helloworld><script>ce测试

发表评论:

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog