avatar
J*n
2
Period
avatar
l*n
3
完全没这方面的经验,这行似乎机会比较多,怎样才能入门
avatar
n*n
4
rerere
avatar
n*n
5
换个亥的频道
avatar
m*y
6
从哪里看出来多的?

【在 l********n 的大作中提到】
: 完全没这方面的经验,这行似乎机会比较多,怎样才能入门
avatar
s*i
7
挖个坑,自己跳进去,然后在里面high,然后...
有点儿意思了

【在 J***n 的大作中提到】
: Period
avatar
l*n
8
有一些工作机会找到我,说是要嵌入式编程经验
avatar
J*n
9
Money talks

【在 n********n 的大作中提到】
: 换个亥的频道
avatar
d*r
10
同关注,总想业余玩玩。我的感觉是,抱着一本讲kernel的砖头看源码,基本没啥用.
avatar
b*i
11
进入任何领域必须实干,就是做项目,而不是看书。以项目为目的,看书为完成项目的
手段。
嵌入式,做一个控制喷水系统的web server,然后在机场能够用手机开关即可。

【在 d*******r 的大作中提到】
: 同关注,总想业余玩玩。我的感觉是,抱着一本讲kernel的砖头看源码,基本没啥用.
avatar
d*i
12
你这个有点现代化的了,传统的嵌入式就是根据datasheet写driver和各种接口的通信
来控制硬件。

【在 b***i 的大作中提到】
: 进入任何领域必须实干,就是做项目,而不是看书。以项目为目的,看书为完成项目的
: 手段。
: 嵌入式,做一个控制喷水系统的web server,然后在机场能够用手机开关即可。

avatar
b*i
13
近代技术可以用uC/OS,然后用例子里的web server就可以了。仍然要直接控制外设,
但是要semaphore/mutex什么的保护。这样比裸写好多了。
我最近搞到一个系统,可以发出噪音,主频100MHz,有网络口。非常满意。只是代码只
能写32k以内。

【在 d****i 的大作中提到】
: 你这个有点现代化的了,传统的嵌入式就是根据datasheet写driver和各种接口的通信
: 来控制硬件。

avatar
d*r
15
请问要玩 uC/OS 的话,推荐用什么tool set (比如build出来的image可以扔到 QEMU
上玩吗),我之前胡乱搜些视频看了下,发现都是在windows下搞的?
还有,好像 uC/OS II 是开源的,III 好像不是的? 请问你是玩的哪个版本呢。

【在 b***i 的大作中提到】
: 近代技术可以用uC/OS,然后用例子里的web server就可以了。仍然要直接控制外设,
: 但是要semaphore/mutex什么的保护。这样比裸写好多了。
: 我最近搞到一个系统,可以发出噪音,主频100MHz,有网络口。非常满意。只是代码只
: 能写32k以内。

avatar
b*i
16
我用的iar试用版,所以有限制,但是不要钱啊。等有时间了转Eclipse试试。我直接RX
开发板上,听说很便宜,好像100块可以买到。
我现在用III,也是开源的。

【在 d*******r 的大作中提到】
: 请问要玩 uC/OS 的话,推荐用什么tool set (比如build出来的image可以扔到 QEMU
: 上玩吗),我之前胡乱搜些视频看了下,发现都是在windows下搞的?
: 还有,好像 uC/OS II 是开源的,III 好像不是的? 请问你是玩的哪个版本呢。

avatar
H*r
17
为啥我觉得IAR不好用

RX

【在 b***i 的大作中提到】
: 我用的iar试用版,所以有限制,但是不要钱啊。等有时间了转Eclipse试试。我直接RX
: 开发板上,听说很便宜,好像100块可以买到。
: 我现在用III,也是开源的。

avatar
d*r
18
我想请教下,uC/OS 和 μClinux之类比起来,主要优缺点是什么?
我知道 uC/OS 的学习资料是非常好的.

RX

【在 b***i 的大作中提到】
: 我用的iar试用版,所以有限制,但是不要钱啊。等有时间了转Eclipse试试。我直接RX
: 开发板上,听说很便宜,好像100块可以买到。
: 我现在用III,也是开源的。

avatar
s*k
19
uCOS 基本上算是一个RTOS,linux不算

【在 d*******r 的大作中提到】
: 我想请教下,uC/OS 和 μClinux之类比起来,主要优缺点是什么?
: 我知道 uC/OS 的学习资料是非常好的.
:
: RX

avatar
d*i
20
en, Linux还是从desktop来的,太heavy-weight了,很多嵌入式上连RTOS都不用,就是
一个scheduler。

【在 s********k 的大作中提到】
: uCOS 基本上算是一个RTOS,linux不算
avatar
N*m
21
ucos有啥开发模拟器吗?

【在 d****i 的大作中提到】
: en, Linux还是从desktop来的,太heavy-weight了,很多嵌入式上连RTOS都不用,就是
: 一个scheduler。

avatar
d*i
22
没有用过uC/OS,bihai用过,可以问问他。

【在 N*****m 的大作中提到】
: ucos有啥开发模拟器吗?
avatar
s*k
23
开发嵌入式,最忌讳就是为了OS而OS,有点绕口,但是意思是嵌入式能简单就简单、不
要为了耍酷或者自己喜好非要上不必要feature

★ 发自iPhone App: ChineseWeb 7.8

【在 d*******r 的大作中提到】
: 我想请教下,uC/OS 和 μClinux之类比起来,主要优缺点是什么?
: 我知道 uC/OS 的学习资料是非常好的.
:
: RX

avatar
s*k
24
能单线程绝对不多线程,能做poll 绝对不上int based,

★ 发自iPhone App: ChineseWeb 7.8

【在 d****i 的大作中提到】
: en, Linux还是从desktop来的,太heavy-weight了,很多嵌入式上连RTOS都不用,就是
: 一个scheduler。

avatar
w*w
25
写个pc的boot程序,做加减法,不用bios,自己控制硬件。

【在 l********n 的大作中提到】
: 完全没这方面的经验,这行似乎机会比较多,怎样才能入门
avatar
H*r
26
以前很多行业是不跑RTOS的,现在有那么多现成的可以用,时代不同了

【在 d****i 的大作中提到】
: en, Linux还是从desktop来的,太heavy-weight了,很多嵌入式上连RTOS都不用,就是
: 一个scheduler。

avatar
c*2
27
弄一块带Zigbee的8051,或者Zigbee连Arduino的板子,最好还通过DAC连机械驱动装置
的,先试试手. 玩起来再说。

【在 l********n 的大作中提到】
: 完全没这方面的经验,这行似乎机会比较多,怎样才能入门
avatar
x*u
28
多核情况下千万别这么想。

【在 s********k 的大作中提到】
: 能单线程绝对不多线程,能做poll 绝对不上int based,
:
: ★ 发自iPhone App: ChineseWeb 7.8

avatar
x*u
29
比起买一套连电脑乐高积木,也多学不了什么东西。其实嵌入式都是在厂家画好的框子
里自己发挥。

【在 c*******2 的大作中提到】
: 弄一块带Zigbee的8051,或者Zigbee连Arduino的板子,最好还通过DAC连机械驱动装置
: 的,先试试手. 玩起来再说。

avatar
s*k
30
嵌入式范围太广,如果你把mobile phone之类的也算,那多核是需要考虑,我说的是大
多资源很有限的。

【在 x****u 的大作中提到】
: 多核情况下千万别这么想。
avatar
t*s
31
很多时候线程不是为了效率。也不是为了fancy。而是为了降低编程难度。
有些routine过一段时间就要执行一次,如果不用线程或者进程,而直接参到主进程里
,会让程序构造变得很复杂的。

【在 s********k 的大作中提到】
: 嵌入式范围太广,如果你把mobile phone之类的也算,那多核是需要考虑,我说的是大
: 多资源很有限的。

avatar
x*u
32
要基于体系结构啊,多线程有可能费电也可能省电。

【在 s********k 的大作中提到】
: 嵌入式范围太广,如果你把mobile phone之类的也算,那多核是需要考虑,我说的是大
: 多资源很有限的。

avatar
x*u
33
你说的这个场景,用单线程配合中断一点压力也没有。

【在 t*****s 的大作中提到】
: 很多时候线程不是为了效率。也不是为了fancy。而是为了降低编程难度。
: 有些routine过一段时间就要执行一次,如果不用线程或者进程,而直接参到主进程里
: ,会让程序构造变得很复杂的。

avatar
t*s
34
你又知道我说的什么场景了?
我说的如果是个随机间隔采样内存数据的routine怎么办?咱家开发板上没RTC。

【在 x****u 的大作中提到】
: 你说的这个场景,用单线程配合中断一点压力也没有。
avatar
x*u
35
没有时间中断你怎么实现单CPU多任务?

【在 t*****s 的大作中提到】
: 你又知道我说的什么场景了?
: 我说的如果是个随机间隔采样内存数据的routine怎么办?咱家开发板上没RTC。

avatar
t*s
36
RTC和时间中断是两码事好不好。
时间中断现在是CPU内部的counter,启动的时候init,依赖CPU的运行时钟,到一定值
就发IRQ。
你是不能program这个时间中断的。program了就真没有多任务了。

【在 x****u 的大作中提到】
: 没有时间中断你怎么实现单CPU多任务?
avatar
x*u
37
能引发定时中断的东西就是RTC,你不是说没有RTC么?
当然可以把部分外设集成到CPU内,但在体系结构上这些东西还是外设。
如果这个时钟仅限于counter不可以编程,那还是没办法单核多任务啊,切换必须要靠
时钟中断,或者当前任务主动放弃执行权。

【在 t*****s 的大作中提到】
: RTC和时间中断是两码事好不好。
: 时间中断现在是CPU内部的counter,启动的时候init,依赖CPU的运行时钟,到一定值
: 就发IRQ。
: 你是不能program这个时间中断的。program了就真没有多任务了。

avatar
t*s
38
唉。我真不想跟你争。
我好好的回别人一个帖子,结果你又跳出来要战,把人家好好的一个帖子毁了。
其实不用RTC也不是没解决办法的。结果你就真往坑里跳说counter-based时钟中断就是
RTC……
咱就当它是吧。问题这个时钟中断就一个,操作系统默认它触发scheduler。你用它触
发你的routine的话。scheduler怎么办?

【在 x****u 的大作中提到】
: 能引发定时中断的东西就是RTC,你不是说没有RTC么?
: 当然可以把部分外设集成到CPU内,但在体系结构上这些东西还是外设。
: 如果这个时钟仅限于counter不可以编程,那还是没办法单核多任务啊,切换必须要靠
: 时钟中断,或者当前任务主动放弃执行权。

avatar
x*u
39
别说“咱就当它是吧”,等你介绍不用时钟中断的实现的单核多任务呢。
一个中断触发多个routine是从16位DOS时代就有的东西了,TSR都玩出花来了。

【在 t*****s 的大作中提到】
: 唉。我真不想跟你争。
: 我好好的回别人一个帖子,结果你又跳出来要战,把人家好好的一个帖子毁了。
: 其实不用RTC也不是没解决办法的。结果你就真往坑里跳说counter-based时钟中断就是
: RTC……
: 咱就当它是吧。问题这个时钟中断就一个,操作系统默认它触发scheduler。你用它触
: 发你的routine的话。scheduler怎么办?

avatar
t*s
40
我没说过没有时钟中断啊。我只不过说时钟中断不等于RTC而已。你要让它相等咱们就
让它相等好了。
一个中断触发多个routine不是问题。可是时钟中断的间隔和我的routine想要的间隔不
一样怎么办呢?比如时钟中断间隔1ms,我的routine今天心情好要700us,明天心情不
好要300ns。
当然硬要搞也不是搞不出来。另外不要忘了,要以“和使用线程比起来不大幅增加编程
难度的方式”解决哦。

【在 x****u 的大作中提到】
: 别说“咱就当它是吧”,等你介绍不用时钟中断的实现的单核多任务呢。
: 一个中断触发多个routine是从16位DOS时代就有的东西了,TSR都玩出花来了。

avatar
x*u
41
如果你的routine需要非常精确的定时,那么必须要专用外设配合,而且OS要做实时优
化。
大多数情况下系统并没有做的这么准确,时钟只是很粗略的实现。

【在 t*****s 的大作中提到】
: 我没说过没有时钟中断啊。我只不过说时钟中断不等于RTC而已。你要让它相等咱们就
: 让它相等好了。
: 一个中断触发多个routine不是问题。可是时钟中断的间隔和我的routine想要的间隔不
: 一样怎么办呢?比如时钟中断间隔1ms,我的routine今天心情好要700us,明天心情不
: 好要300ns。
: 当然硬要搞也不是搞不出来。另外不要忘了,要以“和使用线程比起来不大幅增加编程
: 难度的方式”解决哦。

avatar
t*s
42
我不需要很精确啊。我要700us你给我800我也不会造反啊。嫌300ns太短我要300us好了
,只要别给到600us我也没很大意见嘛。

【在 x****u 的大作中提到】
: 如果你的routine需要非常精确的定时,那么必须要专用外设配合,而且OS要做实时优
: 化。
: 大多数情况下系统并没有做的这么准确,时钟只是很粗略的实现。

avatar
x*u
43
纳秒级中断不是普通硬件系统应付的了的,微秒级中断也是代价非常大的。

【在 t*****s 的大作中提到】
: 我不需要很精确啊。我要700us你给我800我也不会造反啊。嫌300ns太短我要300us好了
: ,只要别给到600us我也没很大意见嘛。

avatar
t*s
44
那咱么就说低端硬件好了。
系统时钟中断20ms,咱的routine今天想要27ms,明天想要53ms。

【在 x****u 的大作中提到】
: 纳秒级中断不是普通硬件系统应付的了的,微秒级中断也是代价非常大的。
avatar
x*u
45
在单核普通系统上是做不到的,实时是以损失性能为代价的。

【在 t*****s 的大作中提到】
: 那咱么就说低端硬件好了。
: 系统时钟中断20ms,咱的routine今天想要27ms,明天想要53ms。

avatar
s*k
46
非也,多线程再怎么也比poll based复杂,尤其考虑到各种同步的情况,消耗资源多数
情况下也比poll多。我看大多数资源有限情况下,一个BG的poll和FG的INT就可以了。
多线程用在极其成熟的RTOS,比如ucOS还可以

【在 t*****s 的大作中提到】
: 很多时候线程不是为了效率。也不是为了fancy。而是为了降低编程难度。
: 有些routine过一段时间就要执行一次,如果不用线程或者进程,而直接参到主进程里
: ,会让程序构造变得很复杂的。

avatar
x*u
47
是啊,而且单核下搞多线程,结果是实时性更差,更无法满足要求。
这时候标准玩法就是中断外设,在指定毫秒发一个中断。

【在 s********k 的大作中提到】
: 非也,多线程再怎么也比poll based复杂,尤其考虑到各种同步的情况,消耗资源多数
: 情况下也比poll多。我看大多数资源有限情况下,一个BG的poll和FG的INT就可以了。
: 多线程用在极其成熟的RTOS,比如ucOS还可以

avatar
s*k
48
对于过一段时间就要执行一次routine,放在poll不同的进程没有任何复杂度啊,这种
大多数都是event based,如果该进程没有event,直接跳过。

【在 t*****s 的大作中提到】
: 很多时候线程不是为了效率。也不是为了fancy。而是为了降低编程难度。
: 有些routine过一段时间就要执行一次,如果不用线程或者进程,而直接参到主进程里
: ,会让程序构造变得很复杂的。

avatar
c*2
49
补充一点。嵌入式开发者的学习要从行业应用和生态环境入手,big picture, and top
down. 相反,对要创业的, 学习要刻意的Bottom up,仰卧起坐,直到两眼发直口吐白
沫。LoL

【在 c*******2 的大作中提到】
: 弄一块带Zigbee的8051,或者Zigbee连Arduino的板子,最好还通过DAC连机械驱动装置
: 的,先试试手. 玩起来再说。

avatar
h*i
50
我觉得你们说的不是同一个东西,有些arch自己带core timer可以定时中断,但不是
RTC。嵌入式RTC都是单独一个chip,极低功耗的可以集成用电池供电。

【在 x****u 的大作中提到】
: 能引发定时中断的东西就是RTC,你不是说没有RTC么?
: 当然可以把部分外设集成到CPU内,但在体系结构上这些东西还是外设。
: 如果这个时钟仅限于counter不可以编程,那还是没办法单核多任务啊,切换必须要靠
: 时钟中断,或者当前任务主动放弃执行权。

avatar
n*t
51
这种事情就是看怎么定义这个嵌入式了。
微波炉那种,和Mp3 player之类的还是不一样的。
poll 最大的问题是稍微复杂一点的应用,就不好写了。

【在 s********k 的大作中提到】
: 非也,多线程再怎么也比poll based复杂,尤其考虑到各种同步的情况,消耗资源多数
: 情况下也比poll多。我看大多数资源有限情况下,一个BG的poll和FG的INT就可以了。
: 多线程用在极其成熟的RTOS,比如ucOS还可以

avatar
b*i
52
就是,不同需求不同设计。现在有容易使用的OS为啥不用呢?我说不定还要上java。没
有条件就是创造条件也要上。

【在 n******t 的大作中提到】
: 这种事情就是看怎么定义这个嵌入式了。
: 微波炉那种,和Mp3 player之类的还是不一样的。
: poll 最大的问题是稍微复杂一点的应用,就不好写了。

avatar
t*s
53
牺牲性能我同意。复杂就不一定了。比如不需要同步的情况下用线程一定是更方便的。

【在 s********k 的大作中提到】
: 非也,多线程再怎么也比poll based复杂,尤其考虑到各种同步的情况,消耗资源多数
: 情况下也比poll多。我看大多数资源有限情况下,一个BG的poll和FG的INT就可以了。
: 多线程用在极其成熟的RTOS,比如ucOS还可以

avatar
x*u
54
线程是共享线性空间的,一个东西出了问题可能是别的线程引起的,调试起来非常麻烦。

【在 t*****s 的大作中提到】
: 牺牲性能我同意。复杂就不一定了。比如不需要同步的情况下用线程一定是更方便的。
avatar
t*s
55
不需要同步的情况就不可能出现你说的问题。

烦。

【在 x****u 的大作中提到】
: 线程是共享线性空间的,一个东西出了问题可能是别的线程引起的,调试起来非常麻烦。
avatar
x*u
56
线程啊亲,一个溢出了造成另一个崩溃是太常有的事情了。

【在 t*****s 的大作中提到】
: 不需要同步的情况就不可能出现你说的问题。
:
: 烦。

avatar
t*s
57
这话一点意义都没。
你代码既然要溢出,你不用线程放一起跑就不崩溃了?

【在 x****u 的大作中提到】
: 线程啊亲,一个溢出了造成另一个崩溃是太常有的事情了。
avatar
x*u
58
用多进程就不会有此问题
另外单线程加中断时,再现时也简单不少。

【在 t*****s 的大作中提到】
: 这话一点意义都没。
: 你代码既然要溢出,你不用线程放一起跑就不崩溃了?

avatar
t*s
59
我开始说线程是针对他说能不用就不用说的。你搞个进程不是跑的更远么……
poll有方便的场景,中断也有。但是还是有场景确实就是线程最合适的。

【在 x****u 的大作中提到】
: 用多进程就不会有此问题
: 另外单线程加中断时,再现时也简单不少。

avatar
x*u
60
当然有啊但你说的不是。
比如说webserver,用线程池处理io就既简单效率又高。

【在 t*****s 的大作中提到】
: 我开始说线程是针对他说能不用就不用说的。你搞个进程不是跑的更远么……
: poll有方便的场景,中断也有。但是还是有场景确实就是线程最合适的。

avatar
t*s
61
唉。
不是就不是吧。让你得到点否定我的快感。

【在 x****u 的大作中提到】
: 当然有啊但你说的不是。
: 比如说webserver,用线程池处理io就既简单效率又高。

avatar
n*t
62
webserver用线程池效率高????
感觉你不靠谱啊。

【在 x****u 的大作中提到】
: 当然有啊但你说的不是。
: 比如说webserver,用线程池处理io就既简单效率又高。

avatar
x*u
63
OS创建新线程时的开销你研究过么?是不是除了APUE上面的例子外你就没看过程序?

【在 n******t 的大作中提到】
: webserver用线程池效率高????
: 感觉你不靠谱啊。

avatar
p*u
64

epoll is much more scalable then thread pool

【在 x****u 的大作中提到】
: OS创建新线程时的开销你研究过么?是不是除了APUE上面的例子外你就没看过程序?
avatar
x*u
65
两回事。这不就是Windows下早就有了的completion port么?多工作线程省不掉。

【在 p*u 的大作中提到】
:
: epoll is much more scalable then thread pool

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。