闲着也是闲着,不如提前准备考计算机证,说不定大学还给学分,一级和二级我不想浪费时间去考了,不如只考三级和四级,于是就真真正正开始学嵌入式了。
计算机三级证书从信息安全、网络技术、数据库技术、嵌入式开发选一个,四级证书选两个,于是我买了两本书,网络的和嵌入式的,网络的完全拿来给四级凑数的,听说网络技术的简单,嵌入式的就是觉得比较有用,比较感兴趣。
打算考四级之前,网络技术的书就吃灰吧(而且据说不用看书,刷刷题就好了),开始正式从头学习嵌入式。
第一遍看书
书已经看了一遍了,没用的内容很多,没什么重点,收获也不是没有,感觉现在看微控制器层次更清晰了,要考试感觉还不行。
这书就像高中课本,很多东西就是看看凑个热闹,像是操作系统的发展,Arm指令集芯片的发展···
这本书有点用的东西,大概都是和Arm有点关系,但是Arm汇编这块,这本书讲的真是看不懂,这本书是当我有X86汇编基础讲的嘛?于是上B站专门看了Arm汇编的教程,再回过头来看书就看懂了···
Arm汇编,我现在也就是认个眼熟,什么时候用到再认真学吧,考试虽然考,但我觉得也就考个皮毛。
这个书,我的感觉是:看了一遍书,如看一遍书。找题刷吧···
收获
回想以前在单片机里面用malloc之后排查故障,我为啥不早点系统学学嵌入式···
看书之前,面对一个单片机,我的想法:
-
能跑Arduino吗?不能啊,看看别的吧。
-
单片机啊,不就是能编译一个程序放进去跑的芯片嘛。
看书之后,再来面对单片机,它就是一个存东西的空间,有的地方映射给了引脚,有的地方映射给了寄存器,有的地方映射给了RAM,有的地方莫得映射。
有一个指针指着某地址,在这个地方取出可以执行的命令···
一段代码丢内存里面,指针(程序计数器)指向它,它可以操纵空间里面的任何数据,不管这个数据是纯粹的数据还是机器指令,甚至指令自己可以改自己所在内存的内容。
正常人肯定不会这样写代码(感觉不一定),但程序写自己改自己代码整活成为了可能,比如说有一个if在编译时不能优化掉,但是单片机一启动就知道这个if的结果了,就可以让程序启动的时候重新组织机器码,把这个if优化掉。
关于等级考试
当我准备刷题时,我发现,正如别人所说,这个知识付费的年代···
走遍Google,Bing,TG,我竟没有找到任何嵌入式的题目资料。
看看拼多多,却都是正版资料,几块钱也买不到呢···
找不到资料可不会阻挡我前进的步伐,只会让我走得更快,虽然没找到嵌入式的,但我在公众号上找到了网络技术的破解版~~,啊···又要学网络技术了
嵌入式就不考三级了,但也不白学,四级要用(其实四级不打算考了,据说没大用),买了两个stm的板子研究研究通信、显示什么的,而且现在也正在学画PCB···
网络技术,我最一开始接触计算机技术似乎就是接触的网络技术···为了内网映射游戏而研究了一些皮毛···
看着破解版软件——哇这不是我在pdd上看中的刷题软件嘛,真香。
转头看向封面颜色不一的盗版书——可惜这两本书没找到PDF啦。
PATH变量没了
当我打算上传这个文章时,打开VS code,它说我没转git,我赶紧打开cmd,cmd也提示我git没了,不会吧?我误删了?赶紧打开资源管理器,却发现Git在那里好好的。
没错,出大问题了,今天破解画PCB的软件装卸好几次给我Path整没了。
搜了一下,大概有两个方法:
-
注册表里面可能有,我的没有
-
以前有开终端之类的没关,可以直接打印出来,我也没有
难道就只能一个一个往里加吗?要知道好多东西我都不记得装过,以及不知道那些需要加进Path。
要知道,有的软件可能会需要用到Path(缓缓打开任务管理器),它们会把Path变量存到自己的进程空间中(缓缓划到下面),终端这东西不管用不用都会缓存一份Path的(找到了三个个孤苦伶仃的控制台窗口主机进程),如果能让它们打印一下Path变量的话(用VS调试?),不打印那就告诉我你都知道什么(用任务管理器给其中一个dump)。
环境变量里面有个system字符串,直接搜索,完成!Path回来了。