历史上的今天
返回首页

历史上的今天

今天是:2024年10月18日(星期五)

正在发生

2019年10月18日 | 学习嵌入式开发ARM的方法

2019-10-18 来源:51hei

1、嵌入式是什么?

 

2、嵌入式需要哪些知识?

 

   知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++.同时论坛上了解到,实时操作系 统ucos是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍 不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操作系统书时,根本就不知道进程是个什么东西。在这段时间掌握的东西不多,但是,对我以后 的影响很大,我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。

 

  学习嵌入式在这里我把它单独列出,文章有点紊乱,但是内容希望有益。

 

  1、学习linux根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。

 

   可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以 前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了 《深入理解linux内核》,最后猜蛄嗣虏俚摹肚度胧较低场芬彩欠治鰈inux内核代码的,主要讲arm相关的。

 

  看内核期间是个 非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第一、第 二遍是几乎没有摸到门道,我分析有三个方面的原因:1、自己的基础差,这是最关键的。2、内核本身很难。3、没有交流和高人指点。到了第三遍时我才摸到 门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。

 

  学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!

 

   在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linux系统编程开发——〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。

 

   关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果 你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别 的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。

 

  怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。

 

   先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看 操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交*看,《深》是纲,《情》是目。最后深入代码。

 

  2、学习嵌 入式linux学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm.操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos.那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发 现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了! 相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

 

  至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认为值。对我实习和工作产生了很大的影响。


推荐阅读

史海拾趣

Cornell Dubilier公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,Cornell Dubilier公司积极引进智能化生产设备和解决方案。例如,公司部署了Rethink Robotics的智能协作机器人,显著提高了生产效率和质量。通过与机器人技术的结合,Cornell Dubilier公司在电力电容制造领域取得了显著的成绩,实现了生产过程的自动化和智能化。

Diodes公司的发展小趣事

Diodes公司积极实施全球化战略,不断拓展海外市场。公司在以色列、加利福尼亚、得克萨斯和日本等地设立了制造工厂,形成了覆盖全球的生产和销售网络。这些工厂不仅为Diodes提供了充足的产能支持,也为公司赢得了更多国际客户的青睐。同时,Diodes还积极参加国际展会和交流活动,加强与国际同行的合作与交流,不断提升公司的国际化水平。

Flexxon Pte Ltd公司的发展小趣事

随着电子行业的不断发展和市场需求的日益多样化,Flextronics(Flexxon Pte Ltd)开始实施多元化战略,积极拓展新的业务领域。公司不仅继续深耕消费电子、通信设备等传统市场,还积极涉足汽车电子、医疗电子、物联网等新兴领域。通过并购、合作等多种方式,Flextronics不断拓宽产品线和服务范围,为客户提供更加全面和专业的解决方案。这一战略调整不仅为公司带来了新的增长点,也进一步提升了公司的市场竞争力。

Acculin Inc公司的发展小趣事

作为一家有社会责任感的企业,Acculin Inc积极参与公益事业,为社会做出贡献。公司定期举办慈善活动,支持教育、环保等公益事业。此外,Acculin还注重环保生产,通过采用环保材料和节能技术,降低生产过程中的环境影响。这些举措不仅提升了公司的社会形象,也增强了消费者对品牌的信任度。

这些故事虽然基于虚构,但反映了电子行业中企业可能面临的一些常见挑战和机遇。通过技术创新、国际合作、战略调整、人才培养和社会责任等方面的努力,一个电子行业的企业可以逐渐发展壮大,并在市场中取得一席之地。

启英泰伦(Chiplntelli)公司的发展小趣事

启英泰伦(Chiplntelli)公司成立于2015年,专注于人工智能语音芯片及配套应用解决方案的研发。在公司创立初期,团队面临了众多技术挑战和市场竞争。然而,他们凭借对技术的深刻理解和不懈追求,成功推出了第一代深度神经网络语音AI芯片CI1006,这款芯片在行业内被认定为首创。这一重要里程碑为启英泰伦的发展奠定了坚实的基础,也标志着公司在人工智能语音芯片领域的正式起步。

Cal-Chip Electronics公司的发展小趣事

为了进一步提升竞争力,Cal-Chip Electronics公司在XXXX年开始实施产业链整合战略。公司通过与上游原材料供应商和下游终端制造商建立紧密的合作关系,实现了产业链的协同发展和资源共享。这一战略不仅降低了公司的运营成本,也提高了产品的质量和生产效率。同时,公司还积极参与行业标准的制定和推广,推动了整个行业的健康发展。

问答坊 | AI 解惑

LPC23xx开发板用户手册

LPC23xx开发板用户手册…

查看全部问答>

太阳能摇摆花ic原理的讨论

市面上流行过的这东西大家估计都看过了,说起来很简单,就是一个太阳能小电池,大约提供最高1.2v电压,然后通过ic周期性地控制驱动线圈的导通,使其摇摆.       本来只是一时无聊,打算自己做一个玩玩,但真正动手后让我不得不回头 ...…

查看全部问答>

单片机学习:开发板好比农民种地的种子

单片机是一门实践性非常强的学科,没有实践一切都是“空中楼阁”,花点钱买块开发板是非常必要的。(“开发板就好比农民种地的种子,只要能合理利用,它便会生根发芽,最后定能收获丰盛的果实。想要种好地,不要不舍得去买好种子”。)学习单片机, ...…

查看全部问答>

Proteus 与单片机实时动态仿真

摘  要:Proteus是一款功能强大的 EDA仿真软件。它拥有丰富的库元件,尤其是动态外设 的仿真极大地补充了其他仿真软件的不足;虚拟工具箱的引入为仿真测试提供了方便。本文 以 AVR单片机为例具体分析了该软件在仿真微处理器方面的独到 ...…

查看全部问答>

开关电源的输入输出滤波电容容值确定方法

目前手上一个电源,参数是AC86-264V输入,DC 7.5V 1A输出,输出滤波电容是用的两个电容并联,大小分别为1000U 16V 和220u 16V ,请问这两个电容是如何确定的。纹波要求小于 100mV。此外输入滤波电容是用的4.7U 和10U 400V的,请问这两个电容又是怎 ...…

查看全部问答>

补上面串口数据入库问题

EVC下有专门串口控件吗…

查看全部问答>

WinIO得问题

使用VB和WINIO编程后,生成得EXE必须和WINIO得 winio.dll, winio.vxd and winio.sys 放在一起。可我想把他们一起打包到exe中,不知道能不能做到啊, MoleBox Pro试了下好像不行,求高手赐教啊啊啊啊啊 …

查看全部问答>

发现STVisualDevelop+STM832KCompiler4.3.4一个问题,提个醒!

直接写一条指令: TMP==0; 编译后竟然没有任何警告!编译结果如下: (错误警告选项已经打开!CVAVR如果这样写会出现警告!不知道标准C语言是否可以这样写?) main.c:128     __sram_wall_xc_safe == 0; 0x90d3 ...…

查看全部问答>

M4-学习笔记之Grlib的使用

Grlib代码简洁,比uCGUI简单多了,移植的时候 不需考虑太多的东西,容易上手     // UARTStdioInit(0);     //初始化串口0//  UARTprintf(\"Hello, world!\\n\"); //直接打印输出,前提必须是上面 ...…

查看全部问答>

求用msp430g2553的温度检测程序,LCD是用12864显示的

求用msp430g2553的温度检测程序,LCD是用12864显示的…

查看全部问答>