大专生入行嵌入式软件的辛酸泪

2019-07-21 08:05发布

     提笔先谢谢原子哥,因为他的stm32开发板让我找到了一份嵌入式方面的工作,没有他就没有现在的我!
     我是个大专生,88年生,专业是物流,我的专业和我现在从事的工作可以说是天壤之别。前年我毕业了,毕业等于失业,说的就是我,
因为是大专生(本人不努力的结果)所以也没有学到啥技能,出来找工作也很难,所以去了一家日企电子厂当操作工了,在日企每天上班10多个
小时,每天站得累得腰酸背痛(整天打螺丝的缘故),可以说是行尸走肉地混日子。
     有一天,一个本科生来到生产线实习(日企的惯例),在交谈中得知他的专业是软件开发,月薪3000多,可怜的我加班到死一个月才拿2500
左右。从那天起,我就觉得自己未来的命运不能这样,与其浑浑噩噩得打螺丝不如最后再拼搏一记,也许依旧不会成功但也无憾了。
     下定决心后准备入行软件开发了,因为整天接触到电路板,所以最后决定下来的是嵌入式软件工程师。于是,辞职后我花了大半个月的工资去买了各种书籍,c语言入门的、数据结构、算法、操作系统等等。我的计算机基础是相当差,学起来相当吃力,但我每天坚持练习敲代码1000行,差不多半年后终于入门了,现在想想其中的辛酸不足为外人道也。
    然后,又准备学ARM单片机了,所以机缘巧合地买了原子的stm32开发板(难度相对小点适合入门),从到第一个实验到最后几个,我先敲一遍原子哥的代码,然后再尝试着自己独立写,虽然对于我来说这其中的过程非常难,但还是坚持下来了。几个月后,当我把最后一个实验的代码敲出来后,就决定去找一份工作了。
    那些天,我在51job和智联上投了好多份简历,但都是杳无音讯,也许是我大专生的缘故吧,也许没有一个HR会相信一个物流专业的大专生能搞嵌入式软件开发。直到半个月后,我终于收到了一个电话,是一个小公司让我去面试。当时的心情那是一个激动!第二天,我坐车来到了那家公司,面试我的项目经理水平相当高,问了一些嵌入式方面的专业问题,把我问得一愣一愣的,我以为没戏了,最后还好让我写了一个音频芯片驱动的代码,
这个驱动代码我很有把握(呵呵曾经背过类似的。)面试的经理看我写得不错,就没有问一些刁钻问题了,大多都是SD卡驱动、GPRS和GPS方面的简单问题,最后才晓得他们准备用stm32开发一个导航项目,而stm32自认为自学的还可以,心中暗暗窃喜了。
    一个礼拜后,我被顺利录取了,月薪3800(苏州园区),嵌入式开发。
    只要努力,一个大专生也能搞嵌入式,这是我总结出来的结果。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
43条回答
lxj19901115
2019-07-25 11:13
哈哈,有点差不多的样子,我学的是电子专业,也是大专,在学校的时候,打了两年酱油,到大三的时候,才把C语言的书,看玩,然后,就买了个STM32的开发板,稀里糊涂的,玩到大三毕业,话说,那时候毕业的时候,就知道用STM32点灯,其他的如TIMER,ADC,DAC,啥的都不懂,,,然后毕业之后,悲催的生活开始了,毕业也就失业了,
具体遭遇是这样的,
12年初,一个人拎着个包,就来深圳了,
然后,因为老乡的关系,接手了第一个项目,就是写一个NOR FALSH 128M 的驱动,开发费是3K
当时的基础,就会点灯,其他的啥都不会,比如啥是SPI ,啥是SDIO,文件系统,等等,都不懂,更别说去写存储器的驱动了,
从接手这个项目,到之后的一个月,都在研究,怎么从SD卡里面读出数据来,,,貌似这个过程就花了一个多月,试了SPI,和SDIO模式
悲催的一个月中,去研究啥是文件系统,用U盘和WINHEX这个工具,去分析里面的二进制数据,,晕,,尼玛,在测试用SD卡,读数据的时候
用SPI 模式去驱动,总是不稳定,只能读出第一个扇区里面的数据,然后读另外的扇区,就一直读不出来,,,就因为这个,在这里耗费了1个多月,,
只能说明这个,上学不努力,工作的时候,就只能时不时的骂自己,咋这么傻呢
花费了,将近一个月之后,采用STM32 SDIO DMA 并且挂载FATFS文件系统,终于解决了文件的读的问题,
之后,就是写NOR FLASH 的驱动,
在写的时候,就发现了这个问题,就是管脚的分布,组织该怎么搞,怎么分配才有利于程序的开发
当时并没有像这个问题,就随便找了些IO给弄起来,后来发现程序写到后面有难度了,就在开发中间过程中去修改原理图,
修改了3次,尼玛,我发现自己太能折腾了,,,
然后磕磕碰碰,整个项目用了2个月的时间,才把这个项目给干掉了,在这中间,客户催了不下十次,,,

后来,到12年底的时候,要写一个NAND的驱动,发现STM32 有外部存储器总线FSMC,是可以驱动NOR FLASH的,
我就傻了,当时在做那个NOR FLASH驱动的时候,为啥没想到用硬件接口去做,而是用IO模拟呢,,只能说对STM32不熟悉,,,


就关于做的第一个项目,在之后的半年,总结的经验如下:
1,做任何事情,首先要向清楚之后,再动手。
2,在调试程序的时候,碰到问题,首先不要去改代码,而是要去静下心来,去思考为什么导致这个原因,想好之后,再动手去改
3,在接手项目的时候,必须把这几点弄清楚,首先要把整个工程的说明和要求文档弄到手,并且要仔细读清楚,第2,对所使用平台的要熟悉,有啥硬件接口,或者IO啥的

一周热门 更多>