Re: [请益] 非本科韧体技能树该怎么点

楼主: womandrift (玛莉)   2023-02-11 21:00:11
小鲁本科学硕,在IC Design House写过几年FW
分享自己的经验以及一点浅见
要进这行的顺序:
1. C练熟,至少要有大一计概与程设课程等级
具体目标是用C写出八皇后、河内塔...等经典问题
这个阶段主要是让你熟悉C语言
包括基本语法、编译与执行的方式、如何Debug
还有最重要的: 撑过去并且愿意继续写C
如果你遇到了一堆Segmentation Fault,或是各种Compile不过
上Stack Overflow也不见得可以在五分钟之内就找到bug的解法
你依然愿意继续找下去依然不放弃这行
那你再往下看其他步骤,否则压力只会更大
2. 修大学部的作业系统概论
目标就是跟着修完一学期的课就对了
无论是上开放式课程或是直接去学校旁听都好
一定要跟着交作业/Project
如果跟着写作业的话应该会更加熟悉C
以及遇到更多坑
我预期作业应该会让你熟悉以下几点操作
a. 装VM
b. Linux File System
c. Linux 内的基本Command,例如ls、cat、grep...
d. 用gcc 写/编译 C code
所以要记得先完成第一点熟悉C到一定程度
否则这时候写作业会有更多问题
更加复杂更不容易找到Solution
3. 修大学部的计算机架构/计算机结构 概论
课名上可能EE/CS 会有不同,但授课范围都大同小异
目标一样是修完大学Level一学期的课
一样请跟着写作业/Project
这堂课主要是对应到原Po提到的"硬件知识"
就是熟悉CPU的Cache、Write through/Write back、TLB...等等内容
我当年在修的时候有一部分会和OS的内容重叠
所以其实可以两堂一起修,看你时间分配
另外这堂课作业也许会需要你写Verilog
如果有遇到的话就跟着学,以后可以自己玩FPGA
4. 准备面试
网络上应该有相关的介绍
你在修完上述两门课之后面试会问到的东西应该都看得懂了
或至少有基础知识,要再继续上Google查也会更有方向
我认为一般人要能面试进这行至少要完成上面4个步骤
当然如果你有任何特权 (身份/血统/...) 就可以无视
如果有钱有闲想再更进阶的话可以再进修以下几点
1. 嵌入式系统概论
我建议可以修个大学部的课
应该可以让你compile kernel,熟悉一下kernel module、Makefile等等
当然你要自己买个板子来玩也是ok
反正就是熟悉以后的开发环境
2. Linux
就跟着鸟哥的课
有空就加减看一下练习练习
熟悉Linux环境跟Bash Script,以后上班会很好用
祝福原Po顺利找到理想工作
我个人是不想继续写C 就是了XD
作者: testPtt (测试)   2023-02-11 21:29:00
开机程式好像都是C 不知道CPP能不能写开机
作者: ming0071 (ming)   2023-02-11 21:30:00
其实想选韧体或嵌入式也是发现自己喜欢写程式,但是非本科好像也就这个方向可以转过取,不然感觉一直读内存位置也是蛮单调枯燥的
作者: MoonCode (MoonCode)   2023-02-11 21:33:00
好奇写FW好玩吗 从来没机会玩过个觉得可惜
作者: GoalBased (Artificail Intelligence)   2023-02-11 22:37:00
好人
楼主: womandrift (玛莉)   2023-02-11 22:37:00
非本科怎么不写SW,就不太需要知道HW的东西写软件才比较需要资结跟算法想要写程式不一定要写C啊,有Python了何不继续下去
作者: labbat (labbat)   2023-02-11 22:41:00
干嘛限制在bash,高手都用tcsh和csh壳层做事情的
作者: shter (飞梭之影)   2023-02-11 23:58:00
只要能compile成组语/机械语言,没有啥不能写的现代语言都是A编译B再编译成C...问题是有没有转译器
作者: alex70266 (小眼)   2023-02-12 00:14:00
其实你有兴趣什么都学一点也不会有什么问题绝大部分的人都不是专点一两项技能的我以前给人的建议都是A. 想走嵌入式,那弄块可以跑linux的版子上面放自己编译的web opensource service上去
作者: wulouise (在线上!=在电脑前)   2023-02-12 00:24:00
要用C++写OS之前你先学一下rust
作者: alex70266 (小眼)   2023-02-12 00:25:00
这样已经很有嵌入式工程师自干风了 XDB.想要练写C,那就试着用C重头写一个简单的http server不难但是都需要读一点东西,也有足够菜鸟磨练的空间
作者: wei115 (ㄎㄎ)   2023-02-12 00:34:00
想学linux 感觉会更软一点 不会像现在一堆时间都花在找硬件问题上面QQ
作者: ming0071 (ming)   2023-02-12 01:43:00
好的 感恩各位前辈的指导,目前看了下来感觉我应该也会想尽量避开受到硬件限制的问题,可能朝向嵌入式来做努力吧。不过要是没办法大概也是走向韧体了,最大的目标还是离开机构设备的框架
作者: alex70266 (小眼)   2023-02-12 02:25:00
我是会把算法跟资结这种当成写程式基本功。不要把自己的路设想的太死只有一个方向比较好依照我自己的经验是做嵌入式系统什么都要会一点,当然核心能力还是那些。但随着soc能力越来越高,不代表不会在上面放高阶语言的应用,越来越多上层程式需要开发在这些东西的时候,学过的东西越多看东西的角度越广是越好。
作者: wilson6405 (KickAsson)   2023-02-12 11:13:00
推荐 Linux From Scratch
作者: shomingchang ( )   2023-02-12 11:19:00
写SW啊会用glibc就很底层了
作者: odahawk (羊皮狼)   2023-02-13 09:20:00
我觉得再过几年可能MCU上要跑Nodejs和SQLite了
作者: mirror0227 (镜子)   2023-02-13 23:31:00
好文推
作者: ming0071 (ming)   2023-02-14 01:12:00
感谢上面几位前辈的回复,有得到一点方向了,打算修个作业系统的课先开始着手提到的不要受限只有一个方向也打破我一些钻牛角尖的念头,会再放开去了解更多东西的,非常感谢!!

Links booklink

Contact Us: admin [ a t ] ucptt.com