MCU 프로그래밍 능력을 어떻게 향상시켰습니까?

프로그래밍에 대한 관심은 해킹에서 비롯되었습니다.

뜻밖에도 결국 싱글칩 마이크로컴퓨터 개발의 길을 택하게 되었는데 현실이 꿈을 꾸지 못하는 것 같습니다.

해킹의 성장이 너무 길어서, 나 자신을 부양할 직업을 찾는 것이 최우선입니다.

저는 컴퓨터를 전공하지 않았고 졸업을 앞두고 프로그래밍에 대해 아무것도 모릅니다.

처음 독학한게 자바였는데 기초문법을 배우고 나니 이해가 되는 것 같았는데 아무것도 이해가 되지 않는 것 같았습니다.

평신도의 용어로, 그것은 프로젝트를 할 아이디어가 없다는 것을 의미합니다.

나중에 싱글칩 마이크로컴퓨터를 접하게 되었고 깊이 이해한 후에 이 프로그래밍이 간단하고 Java 기본으로 C 언어를 배우는 것도 매우 빠르다는 것을 알게 되었습니다.

단지 회로가 더 복잡할 뿐, 특히 아날로그 회로일 뿐인데 다행스럽게도 아날로그 회로에 대한 깊은 지식이 필요하지 않다는 것을 나중에 알게 되었습니다.

개발보드를 과감히 구입하고 튜토리얼을 보고 따라해 보았고 기본적으로 한달여만에 개발보드의 모든 기능을 구현했습니다.

히스토리는 항상 놀라울 정도로 비슷합니다.개별 주변 장치의 기능을 사용할 수 있지만 프로젝트를 시작할 때 혼란스러워합니다.

나중에는 스마트카 프로젝트도 하고 악세서리도 사고 동영상 튜토리얼도 없어서 가맹점에서 제공하는 튜토리얼만 봤습니다.

결국 다시 혼자 썼고, 다 쓰고 나니 확실히 레벨이 올라간 게 느껴졌다.

몇 가지 개선 사항이 있습니다.

1. 다른 사람의 프로젝트 코드 읽는 법 배우기

이 능력은 매우 중요합니다 .독서하는 과정은 직접 작성하는 것보다 고통 스럽지만 실제 작업에서는 다른 사람이 작성한 코드를 읽어야하는 경우가 많습니다.

처음에는 회사에서 제품 개발을 시키지 않고 기존 제품을 유지하고 코드를 변경하도록 합니다.

나중에 개선하고 싶다면 이 능력도 있어야 합니다.

2. 프로그래밍 사고

즉, 기능 구현에 대한 생각도 매우 중요합니다.

이런 종류의 기능을 해본 적이 없다면 가장 좋은 방법은 다른 사람의 구현 아이디어를 배우는 것입니다.

일반적으로 특정 기능을 수행했다면 다음에 이해할 것입니다.

이는 프로젝트를 통해서만 축적할 수 있으며 개발 보드에서 학습할 수 없습니다.

3. 프로그래밍 수준

구현 아이디어를 이해하는 것과 이를 코드로 작성할 수 있는 것은 별개의 문제입니다.

내 방법은 먼저 다른 사람의 코드를 모방한 다음 이렇게 작성하는 이점을 분석하는 것입니다.

그 과정도 꽤 고통스럽지만 경험이 쌓이면 나중에 점점 쉬워지고 마침내 절망의 절정에 이른다.

스마트카를 마치고 얼마 지나지 않아 일자리를 찾았다.

처음에 가장 많이 접한 것은 STC51과 NXP 마이크로컨트롤러입니다.

2~3년 정도 일하면 대부분의 단일 칩 마이크로컴퓨터 제품에 대한 코드를 독립적으로 작성할 수 있습니다.

그 당시 나는 이미 매우 강력하고 단일 칩 마이크로 컴퓨터의 프로그래밍이 너무 간단해서 만족할 수 없다고 느꼈습니다.

나중까지는 GPS, 메뉴, 레이더 감지와 같은 기능을 담당하는 내비게이션 회사에 다녔습니다.

그제서야 내 수준이 얼마나 쓰레기인지 알게 되었고, 그제서야 내가 만든 제품들이 너무 단순하다는 것을 깨달았다.

이 회사도 제 수준이 많이 올라갔어요 예전에는 다단계 메뉴를 만드는 방법을 몰랐는데 그때부터 알았어요.

주로 오래된 엔지니어의 코드에서 학습되며, 다른 사람의 코드를 이해하는 능력을 습득하는 것이 매우 중요하며 이는 전체 경력을 통해 실행될 수 있습니다.

1년 미만이 나 이전의 2, 3년의 가치가 있었다고 할 수 있다.

가끔은 오래 할수록 실력이 좋아지는게 아니라 주변에 배울 수 있는 고수가 있는지 확인하는게 관건입니다.

당신은 회사에서 1년 동안 일했고 기본적으로 회사의 제품에 익숙합니다.그들은 모두 같은 유형입니다.아마도 회로를 변경하고 코드를 변경하면 새로운 제품입니다.

오랫동안 머무르면 기본적으로 반복적 인 작업이 될 것이며 레벨은 천천히 향상됩니다.

내 수준이 크게 향상된 것은 이번이 처음이며 생각만큼 간단하지 않은 마이크로 컨트롤러 프로그래밍에 대한 이해도 새롭게 되었습니다.

두 번째는 음성, 메뉴, 무선 데이터 소프트 디코딩, OTA, 4G, Wifi 및 기타 기능을 갖춘 IoT 게이트웨이인 회사로 전환했을 때였습니다.

이것은 아마도 내가 본 것 중 가장 복잡한 제품일 것입니다.

끝없는 마이크로 컨트롤러 프로그래밍 실습 과정의 세 번째 프로젝트와 유사합니다.

 

기초가 부족한 많은 학생들이 빠르게 시작할 수 있도록 일부 제품 기능을 단순화하고 가장 많이 사용되는 핵심 기능을 유지하려고 노력했습니다.

수년 동안 해왔지만 여전히이 제품을 독립적으로 만드는 것은 매우 어렵습니다.

주된 이유는 기능이 너무 많고 마음이 쉽게 혼란스럽고 통합하는 방법을 모르겠습니다.

이 프로젝트를 하기 전, 혹시라도 쓸만한 것이 있을까 싶어서 출근한 노년 엔지니어들의 코드를 다시 공부하기도 했습니다.

이렇게 우리는 조금씩 한곳에 모이고, 마침내 천천히 소화하고 혁신하여 우리만의 것을 형성했습니다.

저는 이 프로젝트를 약 1년 동안 작업했지만 당시에는 타사 클라우드 플랫폼이 성숙하지 않았기 때문에 결국에는 여전히 안정적이지 않았습니다.

주된 이유는 기본 프로토콜에 허점이 있고 앱이 그다지 강력하지 않아 사용자 경험이 좋지 않기 때문입니다.

예를 들어 오프라인 푸시 기능을 사용하면 푸시할 수 없는 휴대폰 모델이 항상 많이 있습니다.

따라서 이러한 이유로 사물인터넷용으로 안정적인 제품을 만들기 어렵다.

관련된 것이 너무 많습니다. 하드웨어가 안정적인지 여부는 중요하지 않으며 클라우드 플랫폼과 앱 경험이 충분히 풍부한지 여부에 달려 있습니다.

또한 공동 디버깅은 모두 원격 통신이며 많은 세부 사항을 이해하기 어렵고 개발 주기도 깁니다.

이 프로젝트는 내 성장에는 가장 큰 프로젝트이지만 Red Bull에게는 약간 비쌉니다.

특별한 일이 없다면 기본적으로 매일 아침 제일 먼저 회사에 도착하고, 회사도 스타트업 회사다.

사장님이 저를 볼 때마다 너무 감동을 하셔서 이렇게 의욕이 넘치는 직원이 많지 않거든요.

사실 이 프로젝트에 관심이 많은데 이런 중대형 프로젝트를 늘 해보고 싶었는데 기회가 없네요.

사실 저와 모두가 같은 생각을 가지고 있습니다. 즉, 프로젝트가 크든 작든 상관없이 가능한 한 빨리 독립적으로 프로젝트를 수행할 수 있는 능력을 갖추고 싶습니다.

가끔 첫 직장이 2년 차라면 이런 프로젝트를 접하고 누군가에게 이끌릴 수 있지 않을까 하는 생각을 자주 한다.

5년이면 남들 수준, 2년이면 남들 수준에 도달할 수 있을지도 몰라.

나중에 Bluetooth 프로토콜 스택의 개발에 대해 접하게 되었는데, 이전 강수량 이후에는 공부하기가 훨씬 쉽습니다.

Bluetooth 프로토콜 스택 시스템은 내가 지금까지 접한 최고의 비 RTOS로 간주됩니다.

그래서 저는 그것을 단순화하고 나중에 사용할 수 있도록 STM32로 포팅하기로 결정했습니다.

이전에 배치 검증 프로그램 아키텍처를 작성한 적이 있지만 여전히 약간 조잡합니다.

예를 들어 대기열 기능은 바이트 데이터만 대기열에 추가하고 대기열에서 제거할 수 있으므로 모든 데이터 유형을 전송할 수 있으면 더 유연해집니다.

이 아키텍처도 오픈 소스이며 2019년에 우연히 비디오 세트를 녹화했습니다. 관심이 있으시면 가서 볼 수 있습니다. 프로그래밍 수준을 향상시키는 데 여전히 큰 도움이 됩니다.

튜토리얼은 모든 주요 플랫폼에 업로드되었으며 전체 네트워크에서 동일한 이름인 Wuji MCU 프로그래밍을 직접 찾을 수 있습니다.

최종 요약 : 프로그래밍 능력을 빠르게 향상시키고 싶다면 여전히 프로젝트를 통해 축적해야하지만 축적되는 선임 엔지니어와 프로젝트를 수행하는 지름길이 있으며 효율성은 매우 다릅니다.

Supongo que te gusta

Origin blog.csdn.net/weixin_43982452/article/details/123237374
Recomendado
Clasificación