Tôi sẽ bắt đầu bằng cách nói với bạn những gì tôi biết. Sau đó, tôi sẽ nói với bạn rằng tôi muốn đến vùng đất huyền diệu này để biết mọi thứ về phát triển hệ thống nhúng. Sau đó tôi sẽ hỏi bạn những bước tiếp theo của tôi sẽ là gì để đến đó. Câu trả lời này khá nhiều thông tin, nhưng tôi đang cố gắng để biết chi tiết hơn một chút:
Những gì tôi biết
Hãy xem, tôi công bằng với C và C ++. Rõ ràng, tôi muốn cải thiện hơn với các ngôn ngữ đó nhưng tôi nghĩ vào thời điểm này cách tốt nhất để tôi cải thiện là tiếp tục sử dụng chúng và tiếp tục cố gắng cải thiện mã của mình khi tôi viết nó. Tôi không nghĩ sẽ rất có ích khi dành bất kỳ bài tập học tập nào cho việc học C nữa.
Tôi khá thoải mái với việc thiết kế các mạch đơn giản. Tôi thấy một con chip có đầu ra bộ thu mở và tôi biết tôi cần kéo lên, v.v ... Tôi khá tự tin rằng đã cung cấp một IC và biểu dữ liệu của nó, tôi có thể tìm ra cách giao tiếp với nó hoặc ít nhất là hỏi đúng câu hỏi Tìm hiểu làm thế nào để giao diện nó.
Tôi rất giỏi toán và tư duy logic. Có một vài thuật toán / khái niệm thiết kế ném tôi cho một vòng lặp. Đây chắc chắn là khu vực mạnh nhất của tôi.
Những điều tôi đã làm
Cho đến bây giờ, tất cả kinh nghiệm của tôi là với các bộ vi điều khiển 8 bit. Khóa học đại học của tôi sử dụng Motorola HC08, Intel 8051 và Zilog EZ8. Giáo sư của tôi đã xây dựng một bảng dev nhỏ cho cả ba người trong số họ với màn hình 7 chữ số và một số thứ khác. Chúng tôi đã lập trình chúng trong lắp ráp vì vậy tôi có phần quen thuộc với lắp ráp và tôi đã tham gia một khóa học kiến trúc máy tính cơ bản để tôi có một ý tưởng hay về phần cứng. Tuy nhiên, chúng tôi đã làm việc trên môi trường windows và cả 3 MCU đều có IDE và chuỗi công cụ riêng đã được thiết lập nên tôi chưa bao giờ thực sự biết cách mã của tôi chuyển từ lắp ráp sang chạy trên MCU.
Bước tiếp theo của tôi là tự học. Tôi đã rất quen thuộc với môi trường Arduino bằng cách giao tiếp với các cảm biến / bộ nhớ / màn hình mà cả hai đều có thư viện viết sẵn và một số thì không. Tiếp theo, tôi đã xây dựng bảng Arduino của riêng mình với một ICSP trên đó và kết nối với một MCU khác để tôi có thể flash bộ nạp khởi động lên ATmega328s trần. Tuy nhiên, một lần nữa, IDE và chuỗi công cụ đã được thiết lập và tôi chưa bao giờ hiểu được cách tôi đi từ C / Arduino sang mã thực sự chạy trên MCU.
Những gì tôi muốn biết
Vì vậy, từ câu trả lời được liên kết trước đó, tôi nghĩ rằng những điều thú vị / có lợi nhất đối với tôi sẽ là viên đạn về việc học các công cụ (trình biên dịch và trình liên kết) và học các kiểu kiến trúc phần mềm khác nhau (từ các vòng điều khiển dựa trên ngắt đến trình lập lịch và RTOSes) . Đó là ý kiến của tôi về những gì sẽ hữu ích nhất ... nhưng vì tôi chưa biết nên thật khó để nói liệu điều đó có đúng hay không nên thoải mái đề xuất các gạch đầu dòng khác từ câu trả lời đó nếu bạn nghĩ rằng chúng sẽ tốt hơn và vui lòng cung cấp một lời giải thích về lý do tại sao bạn nghĩ rằng.
Vì vậy, lấy kiến thức hiện tại của tôi làm điểm khởi đầu và mô tả ở trên về những gì tôi muốn biết làm mục tiêu, tôi đang tìm kiếm các đề xuất rất cụ thể về nơi sẽ đi tiếp theo. Tôi đang tìm kiếm các đề xuất dự án chính xác, các trang web / mục blog để đọc, các chương trong sách, v.v.
Ngoài ra, có bất kỳ lỗ hổng nào khác trong cơ sở kiến thức của tôi mà bạn nghĩ rằng tôi nên lấp đầy trước khi chuyển sang các chủ đề được đề cập ở trên không?
Cảm ơn