好吧,這回我們再回頭來講講一些關於USB 技術的東西,也不要說一天到晚
在說教。我們講那些只是供大家在技術鑽研以外,也有一些工作或生涯發展
的感想吧。
但我現在也不是很想把技術講得很深奧,年紀一大把了,還賣弄學問反而覺得
很幼稚。以前我就觀察與發現:有些人不知道是可能覺得自己以前沒有唸個學位,
然後搞技術又怕別人瞧不起他似的,總是喜歡把自己的技術晾出來,年輕時,
還好,可能有職場或商場競爭形象問題,我們也就看看、聽聽就好。
但如果年紀一大把了,還搞這一套,我就覺得不必了。尤其除了晾技術之外,
還動不動就老是譏諷時下年輕人怎麼?又怎麼的?
我覺得這心理也只不過之前那個學歷問題的延伸而已。人生嘛!幹嘛那麼看不開呢?
學海無涯,更何況人生也不只是技術學問,其實還有很多人生體驗值得我們稍微放下
技術,去看看世界或幫幫年輕人一點忙的吧!像我兩個兒子都已經在園區上班了,
他們上班搞的技術,肯定是比我先進或更具有未來性,我們倆個老的在家哩,也只能
幫忙整理家裡,洗洗衣服做做家事、代收包裹郵件,人家下班後準備個水果之類的。
我們在技術上的專業能幫上忙的機會也不多了。
所以我認為相對以前我寫部落格的心境就應該有些轉變或調整吧。
覺得在技術還有一些提示的機會,也相對可以因此提供一些工作上的經驗交流,
也不妨提出來供大家參考一下:在技術養成與產品發展的配合下,在你我的工作
經驗上,可能會激發出甚麼想法?或有些借鏡可以供大家思考與借鏡的地方。
然後我覺得 USB 這個東西,我還是有些一些東西可以讓大家參考看看,因為
在我目前工作上,還是有很多小型企業或許多初學者會碰到一些問題的。
這只能說:很幸運的,算是老天爺還蠻照顧我的,到了這個年紀還有一點可用的
一技之長啊。所以大家如果不嫌棄的話,就加減多多少少參考一下吧。
---
之前我USB 都是集中在HID 介面,尤其是 Custom HID ,這些都是因為是客製化
的程度比較高,所以在系統開發與應用上會比較多一點空間,但其實我也不只
搞過HID 而已,應該說:在搞HID 很久以前,我也有搞過USB MSDC
(Mass Storage Device Class) 的東西,這個東西主要就是隨身碟(U盤) 或讀卡機
之類的。只是這個東西因為是標準化的東西,所以能講的東西也非常有限。
而我之前在Hinet 網頁也有稍微提過,那時主要的主題是隨身碟型的MP3 撥放器,
但這個東西在我們那個時代還可以用 SOC 方式做,但現在也已經不用了,
隨隨便便的一顆STM32 的ARM 就可以搞定了:
還記得這張圖嗎?左下角黃色部分就是。然後再系統應用上跟他息息相關的就是
DOS File System,現在網路上的名詞為:FATFS( FAT File System) 。這些東西
現在在網路上都已經有一大堆開放源供你下載直接使用了,而且以前我們還用
八位元的MCU 搞,現在直接用 32 位元的ARM,相得益彰啊。
但如果只是搞MSDC 隨身碟的話,那也不用FATFS ,那就更簡單了:
就是上圖右邊PC 進來走綠色的路徑就可以了。當然啊,現在你只要用一般 STM32
系統平台的話,那你也不用擔心,原廠也有提供各種範例程式給你用。
坦白講:現在一切開放源之後,系統應用也好像不怎麼值錢了。
不過,這還是有許多故事可以講的啦。
----
其實在我加入這個MP3 SOC 團隊之前,我就已經搞了一陣子的MSDC 了。
這也是很好玩的故事:一般公司合併,被併的公司往往內部人員的級職都會至少
被降一級,譬如總經理會變成副總經理,副總經理會變成協理或處長,然後
經理可能還是經理...底下的就沒差了,但我是唯一例外的:
我在合併後,因為合併公司需要一個在USB MSDC 方面有經驗的人來開發
隨身碟型MP3 SOC,所以我在合併後短短幾個月內就從副理提拔為部門主管。
當然這件事有好、有壞。人家可能是從技術團隊需求來看這件事,但未必
所有人都可以認同的,所以後來也引發了一點政治風波 (我也是好幾年之後
私底下才知道的。不過,也已經過了十幾年了,這件事就不用再說了。)
所以啦,搞技術簡單,但要搞技術的人來碰職場文化的東西,
就未必所有工程師就可以理解的。
---
我在接MP3 SOC 的 MSDC 時,其實也不用花太多心思,因為大公司分工細,
就算沒有開放原始碼給你用,人家大公司就是有辦法生給你的:
看到沒,還不止一般的NAND FLASH 而已,還所有的記憶卡都幫你搞定了。
還幫你把MSDC 底層的SCSI 命令組都幫你搞好了。還是用高階C 語言搞定。
有任何問題,你還可以以部門主管跨部門要求別的部門工程師支援你。
大公司大團隊,做事情就是不一樣的。那我們再回頭我們以前在小公司的做法:
還是用組合語言寫這種 USB MSDC 的呢!多可憐啊。
所以啦,這就告訴我們一件事:事情有時候不要老是以小公司的那一種小眼睛、
小鼻子的角度看人事物,不是你幾個人技術有多好?只是人家大公司不太想理你
而已罷了。我當然不是吹捧大公司如何?而是如果你也有機會接觸不同層面之後,
或許你的許多觀點是不一樣的。不是人家年輕人不行,而是每個人看事情,解讀
事物的角度不同吧。你小貓兩三隻,讓你搞個幾年,技術底有多強?但人家就是
大組織,大團隊,分工合作,短短一兩年因應市場搞出個名堂,搶市場時機,
就像我們那個MP3 SOC 一搞完,在大陸市場一上市,憑著業務通路與工廠,
一個月簡簡單單也可以衝出個幾百K 訂單,一年也可以貢獻個幾千萬、幾億的營收。
所以,你講技術有甚麼用?這個才是年輕人需要培養出的視野與企圖心啊。
一樣很累,但你會覺得累得很爽,很值得啊。你人生可以遇到幾次呢?
---
好吧,我們就來講幾個簡單的USB MSDC 的技術觀點吧。
從上面的故事,你就知道這個東西已經出來多久了,但現在還是有一大堆系統
應用機會,所以我相信還是有許多人會碰到的。但光看開放原始碼也不一定能搞得懂
這些玩意兒,其實最主要的還是要回到系統規格與標準吧。
以下這是我一開始搞USB MSDC 所收集參考的文檔:我們那時候比較可憐辛苦,
沒有甚麼Github 或是到處一大堆網頁可以供你下載參考的。
搞USB MSDC 主要就是最下方的兩個檔案:USBmassbulk_10.pdf 及更何況現在以 STM32 的開放平台來說:大家把原廠的程式直接套用不就馬上可以
使用了嗎?
但各位看官也一定比較好奇說:那你以前不講,那為什麼現在又要拿出來講呢?
一來因為以前我們用的MCU 或開發平台,比較冷門專屬,所以講了沒用。
現在像 STM32 ARM 這一種平台比較普通與垂手可得的系統,大家也比較容易
接觸到。所以大家有興趣也比較容易取得玩玩吧。
二來:當然還是有一些特殊的系統需求啦,因為我以前的團隊工程師們,
大家各奔前程之後,有人跑去專門搞隨身碟控制晶片公司,他們這些人
都是在這些標準規範裡搞一些特殊產品或市場在玩的。最近他們就教了我
一招如何在標準的USB MSDC 隨身碟的介面,去執行一下系統的特殊功能
與指令。這些玩意兒,說穿了~也沒有多偉大的技術,只是玩技術就跟
玩魔術馬戲一樣,手法各個不同罷了。
所以藉機就拿出來討論,分享給大家囉。不過,這些東西以技術角度來說:
真的不難,比較難的是:你在工作上,如何說服主管或公司老闆們讓你
可以專心鑽研一陣子?或是你學了之後,你要如何轉換成對你是比較有利
的"附加價值",否則,你老是學了一大堆東西,沒機會發揮,只是拿來耍耍
嘴皮子,噴噴年輕人,有甚麼用?
看看上面我講的我個人的故事:你有沒有覺得有時候,學東西或學技術,
有時候還是得自己找一點機會比較重要,其實我上述那個公司合併升遷的故事,
我不是乖乖地待在原公司等公司合併之後,再任人安排處置的~
而是我之知道公司合併後,我去人家公司打聽一下:我有沒有別的發展機會?
因為成功機會是留給準備好的人,但不會完完全全的掉到你頭上的啦,
也是要自己出們去找的啦。
雖然有引發一些後續的非技術的職場官場文化衝突,但你說:出來混,誰不會
碰到這種鳥事呢?你說對不對啊?這本來就是標準的職場文化。
你看人家大公司好的職缺也是有限啊,要升官發財,也是要爭、要鬥啊。
不過,我聲明一下:當年合併升遷,我沒有影響任何人,也沒有任何違法或
違反人心道德之事宜。純粹就是大公司人多嘴雜....純八卦流言而已。
後來公司的高階主管也有出面安撫一下,只是大公司也有大公司麻煩討厭的
地方,沒辦法!家家都有一本難念的經嘛!職場混久你就知道了。
---
好吧,接下來我們還是講講一些關於USB MSDC 的一些技術內容吧。
待續。
年紀越大,越相信一句話「選擇比努力重要」,如果我的技術真有我說的那麼厲害,那我怎麼會過得@#$&...再說比我厲害的不知凡幾,我收過履歷還有人念到博士,我怎麼樣也不可能比他厲害,這時候反而就會心懷感激,沒有親朋好友幫忙,這把年紀還能靠這點本領吃飯?
回覆刪除最近聽聞一位技術普普的老同事還留在原公司,人家每年還是領的不錯阿,反而是那些見異思遷的同事們,不是大好就是大壞...聽說他存夠錢要送小孩出國留學了,不像我每個月聽老闆報業績報的膽顫心驚,絲毫不敢懈怠
非常認同選擇比努力重要阿,
刪除但仔細比較想想,時空背景不同,很多選擇也不是我們想選就能選的,例如
現在看到30出頭就叫做資深,進入G大公司,他的選擇好,我們呢?
在我當初選擇的時候,G大公司還未誕生呢
現在年輕人可以交換學生,參加競賽,我呢?
學生時期沒資訊去參加交換學生,老師沒意願參加比賽
很多的背景不同,造就當時的我們選擇不多,
現在的選擇多了,反而是當初不務正業的人,得到更多的生存空間
感受到,我們把一門專業搞到專精,結果變成不敢鬆懈,
現在要換跑道也沒這個體力了
@Goodspeed :
刪除"最近聽聞一位技術普普的老同事還留在原公司,人家每年還是領的不錯阿,反而是那些見異思遷的同事們,不是大好就是大壞...."
這種事情就不用太在意啊。也有人讀到台清交,跑去當安安穩穩的公務人員的...
那如果看到昔日同學在園區領股票、領薪水紅利領到手軟的...那怎麼辦?
每個人在選擇之前,沒有人可以清楚的告訴你:這個選擇是對?是錯的?
這還得視你從哪個角度看待的。所以啦,只要心隨境轉,快樂就好...
只是既然選擇了,就不要再有抱怨,不如從自己所選擇的,去發掘出它的好處與優點。
好好地在未來的日子去喜歡她、善待他...其實有時候他也會好好的回報你的啦。
只是有些事情(你老同事那件事),也不一定如你或我們所看到那般情境的啦。
我也聽過:老公在園區擔任高階主管,每年領薪水獎金,領得爽歪歪的...
但老婆一天到晚都在抱怨這個、抱怨那個,還有每天為小孩子的事操煩不已。
所以啦,人比人,比不完的啦。
@lance 是啊。千金難買早知道,萬般無奈沒想到。
刪除人生可貴之處,應該不是在於讓你每每回首感嘆不已,
而是從這裏面讓你更懂得珍惜現在與未來的機會。
有時候,我們也都會難免會羨慕人家穩穩安定的生活日子,
但別人也可能會覺得他們非常羨慕我們的人生精彩啊。
所以我們可以看看人家西方國家那接些冒險家們...若以我們中國人
那一種儒家持家精神來說,可能也難以接受;但人家也就是因為那一股精神,
今天才能在科技或許多創新產業中,領先我們許多...不是嗎?