开始学习朱老师物联网的视频是国庆节的那几天开始的,刚刚开始的时候是想自己在网上找一些嵌入式方面的视频资料,也找了很多的资料臂如“国嵌视频”“达内的视频”,之后也化了十几块钱在淘宝上面买了几十个G的视频资料,看着资料蛮多的,咋的一看感觉资料多应该可以好好的学一下,但是看着看着,发现里面的资料太复杂了,不是很系统化。
       那一段时间自己也很焦虑,学校里也有了招聘会,需要去找工作,自己又想好好的学习嵌入式相关的知识。一天晚上在床上玩手机,突然想着百度一下嵌入式的一些学习计划,于是在51CTO上看到了一个嵌入式工程师养成计划的视频,没有涉及到一些很深入的专业知识,就去看了一下。看着看着,发现这个老师讲的还蛮实在的,讲了一些嵌入式和物联网的学习方法和未来的发展前途,看完了之后,当时自己的内心有一点的激动,好想赶快学习呀!也更加的坚定了我要进入嵌入式这个行业的信心。第二天早上起来后,打开了电脑,又去搜索了一下,找到了朱老师的视频,看有linux基础和C基础,就这样,我开始跟着朱老师学习起来了。
       由于以前有过一些单片机和电子的经验(飞思卡尔智能车比赛、电赛的四轴飞行器) ,在刚刚开始学习ARM裸机部分的时候,除了一些汇编部分,其它的比如定时器、串口、看门狗、IIC等学的都还算蛮轻松的,虽然以前有弄过一些单片机的知识,就比如说定时器吧,以前使用STM32或者K60的时候都是使用别人写好的库函数版本,只需要知道一些基本的原理,会调用函数就可以了。但是,通过了朱老师的讲解后,再结合以前做过的一些东西,发现对于以前懵懂的东西豁然开朗了,还有就是以为自己懂了的东西,再次听老师的讲解后,发现原来自己以前其实就是了解了一个皮毛,还有很多的细节的东西以前都没有注意到。
ARM逻辑的总结:
1、收获:
       (1)更加了解一些ARM的基础知识(发展史、ARM汇编、CPU的简单了解)
       (2)原来刷机其实也不是很难
       (3)理解了S5PV210的启动过程
       (4)如何根据数据手册和原理图来写代码和分析代码(增加了自己看英文手册的信心) 
       (5)SoC的内部外设的基础知识得到了学习 
2、还需要在学习的地方
       (1)S5PV210的时钟系统的地方,虽然大概的配置理解了,但是感觉里面的有些细节的地方,还需要再去复习和理解一下。
       (2)裸机的代码都是在老师带领下编写的,虽然看似懂了,但是理解的还不是很透彻。自己独立编写的时候还是会磕磕绊绊。所以还需要自己再去练习一下。
       (3)Makefile始终还是感觉比较的陌生,只是知道每次要添加一个C文件的时候,需要加一个.o。里面的具体语法还不是很懂。 
3、其它
        (1)SoC的内部外设的一些使用,其实都是大同小异的,在理解了一些基本知识后,无非就是配置一些寄存器,再结合一些代码就可以了。
        (2)ARM逻辑的学习我觉得还仅仅是一个基础的学习,有很多的部分还只是浅显了学习了一下。如果以前工作中需要用到哪一个部分,还需要再深入的学习一下。(没有深入的讲解,朱老师也在视频中也解释了,蛮有道理的)。
 -------------------------------------------------------------------------------------------------------------------------------------------------------
       关于C高级的学习,是在ARM裸机学到了第五部分重定位的时候才开始学习的,学习C高级时候感触的特别的深。在没有学习C高级的时候,我还以为自己的C语言学习的还可以的,但是通过前面的几节的学习,发现自己以前到底有没有学过C语言呀!我以前用C写程序主要是在单片机下弄的,关于什么内存、堆、栈、函数指针、二重指针、生命周期、作用域、链接属性、链表,这些东西完全就不知道是一些什么鬼。在学习高级C的时候,确实学习到了很多的知识,虽然有一些内容,知识听了一遍,学习的还不是很深入,但是感觉对C语言的理解和以前不一样了,理解了内存、编译器、预处理等一些知识。
       今天才刚刚把高级C给看完了,虽然已经看完了,但是,里面还有很多的知识学习的还不是很扎实,比如关于”链表“,虽然链表的基础定义和操作会了一些,但是实践的还是感觉有一点的少。特别是在看到了linux内核中的链表,和我们自己定义的链表有一点小小的区别,以后还需要继续的学习。
C语言高级篇总结:
1、收获:
       (1)对于内存的理解比以前深入了
       (2) 存储类、作用域、生命周期、链接属性的理解(个人感觉这几个东西理解了,对编程时候一些现象就可以很好的想明白了)
       (3)C语言的很多零碎的基础知识理解了 
       (4)看到了一句代码后,会依次的分析这句话是什么意思了 
2、需要继续学习地方
       (1)指针感觉自己用的还不是很灵活,需要代码实战
       (2)链表这东西,基础的算懂了,但是叫我在实践中使用,感觉还有一点问题。 
3、其它
       虽然,学习到了一些以前不知道的C语言的知识,也加深了对C的一些理解,现在感觉对于C语言比以前更加亲切了,但是感觉还是差一点,代码的实践还少了一点。 需要以后不断学习和深入。
 
学习笔记
 
 
 
 
最后,引用朱老师的一句名言”难得东西不会,是因为简单没学好!“,所以,还是需要继续踏踏实实的学习!
 
==========================================
                                     朱老师物联网大讲坛
==========================================
免费的视频教程

嵌入式软件工程师完全学习指南:http://edu.51cto.com/course/course_id-3404.html

朱老师带你零基础学Linux:http://edu.51cto.com/course/course_id-3176.html

嵌入式Linux C语言完全学习视频课程:http://edu.51cto.com/course/course_id-3274.html

==========================================

 完整视频

网盘地址:http://yunpan.cn/cjVy3RAgfDufK 访问密码:4ad7

==========================================

 
 
 
 
 

总结:ARM逻辑和高级C(朱老师物联网学习)的更多相关文章

  1. 想要看懂鸿蒙OS源码?朱老师带你从框架分析开始

    HarmonyOS V2.0是面向轻量级设备的鸿蒙L0/L1级设备端操作系统,于2020.9开源至今已有2个多月,但是很多同学在学习鸿蒙源码时仍然感觉难以下手,找不到突破口. 2020.11.25(本 ...

  2. 潭州学院-JavaVIP的Javascript的高级进阶-KeKe老师

    潭州学院-JavaVIP的Javascript的高级进阶-KeKe老师 讲的不错,可以学习 下面是教程的目录截图: 下载地址:http://www.fu83.cn/thread-283-1-1.htm ...

  3. ES6特性:(阮一峰老师)学习总结

    ES6(阮一峰)学习总结   1.块级作用域的引入 在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域. { var a = 5; let b = 6; } con ...

  4. 物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus

    物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus 物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信.可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接 ...

  5. arduino物联网学习

    arduino物联网学习 目录 arduino物联网学习 20200215 OLED屏幕使用教程 材料: 软件 代码注释 完整代码 Arduino IDE 开发 ESP-01S/ESP-01物联网实战 ...

  6. python爬虫——黑板客老师课程学习

    程序: 目标url 内容提取 表现形式 为什么: 大数据——数据膨胀,信息太多了,不知道哪些信息适合你,例如谷歌搜索引擎. 垂直行业搜索——某一个行业的搜索,与搜索引擎最大的区别:搜索引擎是告诉你哪些 ...

  7. 优秀的前端project如何制定一个老师--html学习路径

    一个好的前端project教师发展,不是一蹴而就,它需要大量的学习和积累. 至于谁刚开始学习的人,如何入门.学习如何选择我的路线,做了各种工具? 1.  学习之前 1.不要着急看一些复杂网页效果的代码 ...

  8. 线性代数和numpy——黑板客老师课程学习

    一.代数是什么 代数->数的抽象表示->向量空间(线性空间) 线代->线性代数 关系: 向量空间之间和内部转换是通过线性变换. 实数——一维空间的点 复数——二维空间的点 如果两个向 ...

  9. python类——黑板客老师课程学习

    1.基本语法 class class_name(base_class):  base_class是它继承的父类 class_var def methods(self,args): statements ...

随机推荐

  1. ACM第六周竞赛题目——B CodeForces 478B

    B - B Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  2. Java多线程Thread.yield(),thread.join(), Thread.sleep(200),Object.wait(),Object.notify(),Object.notifyAll()的区别

    Thread.yield(),在某个线程里调用Thread.yield(),会使这个线程由正在运行的running状态转变为等待cpu时间片的runable状态.join()是Thread类的一个非s ...

  3. MakePic.com 图片制造 打造个性签名 拒绝垃圾邮件 生成个性印章

    MakePic.com 图片制造 打造个性签名 拒绝垃圾邮件 生成个性印章 欢迎使用MakePic.com

  4. Ring - HDU 2296(自动机+dp)

    题目大意:斯蒂文想送给他女盆友一个戒指,并且他想在戒指上刻一些字,他非常了解他女盆友喜欢什么单词,比如"love""forvevr"....并且他还把女盆友喜欢 ...

  5. DCL双检查锁机制实现的线程安全的单例模式

    public class MyObject { private volatile static MyObject myObject; private MyObject(){} public stati ...

  6. springboot 配置文件 .properties和.yml的写法区别

    例如 :    redis配置的properties或yml文件,如下: spring.redis.cluster.nodes[]= spring.redis.cluster.nodes[]= 或 s ...

  7. GS1已分配给国家(地区)编码组织的前缀码

    前缀码即商品条码(EAN-13或者EAN-8)的前三位,其代表的是一个国家和地区,由此前缀可查出所购买的商品是出产自哪个国家的. 下表列出了GS1已分配给国家(地区)编码组织的前缀码 前缀码 管理的国 ...

  8. myeclipse 8.5反编译插件失效

    之前用的好好的,后来加了一个开发工作流的插件,今天打开之后发现反编译插件失效了,后来把开发工作流的插件删掉,又可以了,不知道撒原因,那位大神知道留下点痕迹吧

  9. Android(java)学习笔记242:多媒体之设置全屏的方法

    在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果.其一,通过在代码中可以设置,其二,通过manifest配置文件来设置全屏. 其 ...

  10. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感

    第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...