강의

멘토링

로드맵

Inflearn brand logo image
BEST
Hardware

/

Embedded IoT

Lập trình bộ xử lý ARM Cortex-M

Bạn có muốn học sâu về bộ xử lý CORTEX-M không? Chúng tôi sẽ giúp bạn chắc chắn nắm vững hai chủ đề quan trọng nhất của hệ thống nhúng là lắp ráp và ngắt quãng.

(4.9) 37 đánh giá

566 học viên

  • guileschool
ARM Architecture
Cortex
Embedded

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Có thể sử dụng quyền truy cập không căn chỉnh được không?

  • Vai trò quan trọng của ngôn ngữ lắp ráp

  • Nguyên lý hoạt động của đường ống

  • Bộ lắp ráp trực tuyến

  • Tập lệnh liên kết

  • Nguyên lý hoạt động của thiết bị NVIC

  • Phân tích đầy đủ các thủ tục xử lý ngoại lệ từ đầu đến cuối

  • Bộ điều khiển đồng hồ

  • Phân tích mã khởi động

Bộ xử lý ARM Cortex-M trong một bài giảng
Kiểm tra mọi thứ từ khái niệm đến bí quyết thực tế.

Chủ đề khóa học 📖

ARM Cortex-M

Bộ vi xử lý 32 bit phổ biến nhất cho các hệ thống nhúng.
Các bộ xử lý tiêu biểu bao gồm CORTEX-M3, CORTEX-M4, CORTEX-M0 và CORTEX-M33.
Nó được áp dụng cho các sản phẩm trong nhiều lĩnh vực khác nhau vì có mức tiêu thụ điện năng thấp và giá cả cạnh tranh.

Nguồn: ARM

Bộ xử lý CORTEX-M là bộ vi xử lý 32 bit phổ biến và đáng chú ý nhất được sử dụng trong các hệ thống nhúng ở nhiều lĩnh vực khác nhau bao gồm máy bay không người lái, nhà máy thông minh, xe tự hành, hàng không vũ trụ, thiết bị chẩn đoán y tế, thiết bị gia dụng, Internet vạn vật và năng lượng môi trường.

Bộ xử lý CORTEX-M phù hợp với các ứng dụng ưu tiên giá cả và hiệu quả sử dụng điện năng hơn hiệu suất. Bộ xử lý có số lượng cổng thấp, độ trễ ngắt thấp và khả năng gỡ lỗi .
Hỗ trợ lệnh THUMB2 làm bộ lệnh cơ bản.
NVIC được tích hợp chặt chẽ với lõi bộ xử lý, cung cấp khả năng xử lý ngắt có độ trễ thấp .
Hỗ trợ ngắt ' tail chaining ' và ' LATE ARRIVING ' để cải thiện thời gian phản hồi ngắt.
Hỗ trợ các dải bit, bao gồm các hoạt động ghi và đọc dải bit để hỗ trợ truy cập nguyên tử.

Bo mạch vi điều khiển của STmicro có giá dưới 100 đô la .

nhà phát triển

Tôi không nghĩ có thời điểm nào trong vài thập kỷ qua mà các nhà phát triển lại được coi trọng như hiện tại. Khi bạn hỏi những người trẻ rằng họ muốn trở thành người như thế nào khi lớn lên, bạn có thể nghe những câu trả lời như bác sĩ, công tố viên hoặc thậm chí là ' nhà phát triển '.

Khi các nhà phát triển trở nên có giá trị hơn và mức lương của họ tăng lên, khoa học máy tính và kỹ thuật điện tử được xếp hạng cao trong bảng xếp hạng phổ biến của các trường đại học. Giống như tiêu đề bộ phim 'It Can't Get Any Better', có vẻ như mọi người sẽ đến El Dorado trong tìm kiếm vàng ở miền Tây nước Mỹ vào thế kỷ 19. Chúng chồng chéo lên nhau. Có thể coi đây là thời kỳ hoàng kim của các nhà phát triển.

Nhà phát triển có kỹ năng giải quyết vấn đề?

Bình luận này xuất phát từ một công ty trong nước M vào năm 2016, thậm chí còn được đưa tin trên báo và lan truyền trong một thời gian. Và, thậm chí nếu điều này chưa xảy ra thì đây cũng là từ mà mọi người đều đã từng nghe ít nhất một lần trong đời. Nhưng còn những nhà phát triển có kỹ năng giải quyết vấn đề thì sao? Tại sao đây lại là vấn đề?

Theo tôi hiểu, ý nghĩa của câu này nói một cách đơn giản là như thế này. Để tôi cho bạn một ví dụ. Mã này rõ ràng là của tôi. Chắc chắn là có lỗi trong chương trình này. Tôi cũng biết điều đó. Nhưng điều này không giải quyết được vấn đề . Quá trình này có thể ngắn chỉ vài giờ, dài nhất là vài ngày, hoặc dài nhất là vài tháng.

Nếu bạn hỏi tôi liệu điều như thế này có thực sự xảy ra không, tôi sẽ trả lời rằng tất nhiên là có thể. Cho nên đó là lý do tại sao nó lại trở thành vấn đề.

Viết mã là việc mà bất kỳ ai cũng có thể làm được chỉ cần một chút kiến ​​thức. Nhưng giải quyết vấn đề lại là một trò chơi khác.

Nhà phát triển hệ thống nhúng

Việc tạo ra phần mềm hoạt động trên các hệ thống nhúng đã khó, nhưng việc giải quyết các vấn đề hiếm gặp và khó khăn còn khó hơn. Bởi vì, tùy từng trường hợp, việc thu hẹp phạm vi vấn đề xuống chỉ còn phần mềm có thể không giải quyết được vấn đề. Cần phải xem xét rằng các thành phần của hệ thống nhúng bao gồm 'phần cứng + phần mềm'.

Ngay cả bây giờ, nhiều loại silicone mới vẫn liên tục được tung ra thị trường thế giới mỗi năm. Ngoài ra, còn có nhiều loại phần cứng khác được tạo ra sử dụng những con chip này. Chúng ta có thực sự tin rằng tất cả những điều này đều hoàn hảo về mặt phần cứng không?

Khi khắc phục sự cố, khả năng xảy ra lỗi phần cứng cũng phải được xem xét. Khi một vấn đề không dễ giải quyết, các nhà phát triển phần mềm cần cân nhắc xem đó là vấn đề về phần cứng hay phần mềm.

Nhưng vấn đề là đây là điều cần phải được đào tạo thường xuyên. Việc tuyên bố "đó là vấn đề về phần cứng" hoặc "đó là vấn đề về phần mềm" mà không có cơ sở nào có lẽ sẽ không thuyết phục được bất kỳ ai.

Tôi đã gặp khá nhiều nhà phát triển phần mềm, dù tự nguyện hay không, có ít kiến ​​thức về phần cứng hoặc đơn giản là không quan tâm đến nó. Đó là lý do tại sao các nhà phát triển có kỹ năng giải quyết vấn đề ngày càng có giá trị và quan trọng trong lĩnh vực này.

sự thay đổi mô hình

Kết luận đã được đưa ra rồi. Bạn phải cố gắng hiểu phần cứng.
Hiểu biết về phần cứng không nhất thiết có nghĩa là hàn các linh kiện điện tử vào bảng mạch in. Điều này không có nghĩa là bạn có thể kiểm soát hoàn toàn đèn LED hoặc phím bấm.

Thay vào đó, bạn nên nghiên cứu trình biên dịchhiểu các nguyên tắc cơ bản về cách thức hoạt động của hệ thống nhúng . Hai từ khóa mà tôi tin tưởng và hiểu rõ khi phát triển phần mềm nhúng là trình biên dịchngắt .

Assembler có nhiệm vụ hiểu phần cứng, còn ngắt là cơ chế phần mềm chạy không đồng bộ, khiến chúng có khả năng làm giảm tính ổn định của hệ thống. Do đó, để tạo ra phần mềm có độ tin cậy cao, bạn phải học thật tốt.

Tại sao phải lắp ráp?

Có nhiều quan điểm khác nhau về ngôn ngữ lắp ráp giữa các nhà phát triển. Đầu tiên, hãy đọc bài đăng này từ một diễn đàn cộng đồng nhà phát triển trong nước nổi tiếng.

Trình biên dịch hiện đại thông minh hơn nhiều so với trước đây. Nó tạo ra mã được tối ưu hóa tốt. Việc mã hóa bằng trình biên dịch để cải thiện hiệu suất hệ thống đã là chuyện của quá khứ. Vậy thì tại sao tôi lại nhấn mạnh nhiều đến trình biên dịch?

Lý do chúng ta học trình biên dịch là để hiểu rõ hơn cách thức hoạt động của các hệ thống nhúng. Assembler giúp các nhà phát triển nhìn thấy hoạt động bên trong của các hệ thống nhúng .

Giống như câu nói “Đừng nhìn cây, hãy nhìn rừng”, bất kể bạn học ngành gì, bạn cũng nên liên tục cố gắng hiểu cấu trúc (hệ thống) của môn học mà bạn đang học. Chúng ta cần phải suy nghĩ lại về hệ thống nhúng như là 'phần cứng + phần mềm' .

Nếu bạn đã phát triển trong hơn hai năm và không thấy bất kỳ cải thiện đáng kể nào trong kỹ năng phát triển hệ thống nhúng của mình, đã đến lúc bạn cần thay đổi căn bản phương pháp học tập.

Có câu nói rằng nếu bạn đầu tư 10.000 giờ vào bất kỳ lĩnh vực nào, bạn sẽ trở thành chuyên gia trong lĩnh vực đó. Tôi đồng ý với bạn, nhưng tôi muốn thay đổi câu này một chút. Giống như thế này. ' Nếu bạn đầu tư 10.000 giờ vào bất kỳ lĩnh vực nào một cách hiệu quả, bạn sẽ trở thành chuyên gia trong lĩnh vực đó .'

Lợi ích của việc học assembler

Ngoài những lợi ích đã nêu ở trên, việc học lập trình assembler còn có một số lợi ích bổ sung khác.

Đầu tiên , bất kỳ phần mềm nào cũng bao gồm 1-5% mã lắp ráp (nếu bạn học về trình biên dịch, bạn sẽ hiểu tại sao). Hiểu được mã lệnh lắp ráp cơ bản giúp bạn kiểm soát 100% phần mềm.
Thứ hai , nó tạo ra nền tảng để hiểu mã khởi động (không phải bộ nạp khởi động) được viết bằng trình biên dịch và có khả năng tự mình mã hóa mã đó.
Thứ ba , khả năng sử dụng công cụ gỡ lỗi (khắc phục sự cố) được mở rộng và đào sâu hơn.
Thứ tư , chúng ta có thể cải thiện chất lượng phần mềm để nâng cao hiệu suất hệ thống và sử dụng bộ nhớ một cách hiệu quả.
Thứ năm , việc tạo ra phần mềm chạy trên phần cứng này có thể chạy trên phần cứng khác được gọi là chuyển đổi, và trong trường hợp này, khả năng sử dụng trình biên dịch là điều cần thiết.
Thứ sáu , bạn có thể dễ dàng hiểu được con trỏ trong ngôn ngữ C. (Khái niệm địa chỉ rất cần thiết khi điều khiển bộ nhớ hoặc thiết bị I/O trong ngôn ngữ lắp ráp.)

Phần kết luận

Khóa đào tạo này (Lập trình bộ xử lý ARM Cortex-M) chắc chắn sẽ bao gồm cả hai nội dung này (trình biên dịch, ngắt).

Nếu bạn nghĩ mình không hứng thú với ngôn ngữ lập trình hợp ngữ, vui lòng bỏ qua bài giảng này. Tôi chỉ muốn đi với những người hiểu được giá trị thực sự.

Trong khóa đào tạo bộ xử lý ARM ngoại tuyến, tôi đã nhấn mạnh điều này với học viên của mình như một niềm tin cá nhân. Thông qua khóa học này, tôi hy vọng có thể cung cấp cho bạn góc nhìn khác về hệ thống nhúng.

Bạn sẽ học được: 📚

Bạn sẽ học được gì ✅

  1. Có thể sử dụng truy cập không căn chỉnh được không?
  2. Tầm quan trọng của Assembler
  3. Đường ống hoạt động như thế nào
  4. Trình lắp ráp nội tuyến
  5. Tập lệnh liên kết
  6. Nguyên lý hoạt động của thiết bị NVIC
  7. Phân tích đầy đủ các thủ tục xử lý ngoại lệ từ đầu đến cuối
  8. Bộ điều khiển đồng hồ
  9. Tái tạo chuỗi đuôilàm tổ ngắt quãng trong thực tế
  10. Phân tích mã khởi động

Tất cả những nội dung trên là chủ đề cốt lõi của bài giảng này. Được rồi, chúng ta hãy đi vào chi tiết.

Đầu tiên, có được phép sử dụng quyền truy cập không căn chỉnh không?

Không giống như các bộ xử lý ARM trước đây không cho phép truy cập không liên kết, bộ xử lý CORTEX-M hỗ trợ truy cập không liên kết theo mặc định. Cân nhắc ưu và nhược điểm của việc sử dụng quyền truy cập không liên kết

Thứ hai, tầm quan trọng của trình biên dịch

Khi phát triển phần mềm nhúng, người ta dễ cho rằng sẽ không có vấn đề gì về phần cứng, nhưng khi phát triển phần mềm, bất kỳ ai cũng có thể rơi vào những cái bẫy bất ngờ bất cứ lúc nào. Việc tìm kiếm và giải quyết những vấn đề như thế này đòi hỏi phải có trình độ hiểu biết nhất định về phần cứng. Mỗi thiết bị phần cứng riêng lẻ, bao gồm cả bộ nhớ, đều có đặc điểm vận hành riêng và việc hiểu chúng là điều quan trọng. Việc đầu tiên dễ dàng bạn có thể làm để tăng hiểu biết về phần cứng là học trình biên dịch. Tôi muốn nhắc lại rằng việc trải nghiệm gián tiếp phần cứng thông qua ngôn ngữ lắp ráp là điểm khởi đầu để các kỹ sư phần mềm hiểu được phần cứng.

Thứ ba, nguyên lý hoạt động của đường ống

Bộ xử lý theo đường ống hiệu quả hơn bộ xử lý không theo đường ống. Thật khó để tưởng tượng một bộ xử lý ARM không sử dụng công nghệ đường ống. Nghiên cứu nguyên lý hoạt động của đường ống và ý nghĩa của nó đối với bộ xử lý CORTEX-M.

Thứ tư, trình biên dịch nội tuyến

Lắp ráp trực tuyến có nghĩa là gì? Nói một cách đơn giản, điều này có nghĩa là viết mã lệnh dưới dạng hàm C. Hình thức bên ngoài của lệnh lắp ráp nội tuyến giống như một hàm ngôn ngữ C, nhưng nội dung thực tế của nó là một lệnh lắp ráp. Hướng dẫn lắp ráp cũng liên kết chặt chẽ với các biến cục bộ trong các hàm C. Trong trường hợp các lệnh MSR và MRS không thể thay thế bằng ngôn ngữ C, giá trị của trình biên dịch nội tuyến sẽ phát huy khi được triển khai và sử dụng trong trình biên dịch nội tuyến.

Thứ năm, tập lệnh liên kết

Trình biên dịch STM32CubeIDE tự động tạo ra nhiều nguồn và nhiều tệp khác nhau, bao gồm các tệp makefile cần thiết cho quá trình biên dịch, thông qua một quy trình tự động. Một tệp được gọi là tập lệnh liên kết cũng là một trong những tệp được tạo tự động và trình liên kết luôn tham chiếu đến tệp này để tạo tệp thực thi cuối cùng theo mong muốn của người dùng. Tìm hiểu về vai trò của trình liên kết và cú pháp tập lệnh trình liên kết.

Thứ sáu, nguyên lý hoạt động của thiết bị NVIC

Không giống như bộ xử lý ARM7, ARM9 và ARM11, bộ xử lý CORTEX-M được thiết kế để có kết nối chặt chẽ hơn bằng cách đưa NVIC, một thiết bị điều khiển ngắt, vào bên trong bộ xử lý CORTEX-M. Hiểu được cách NVIC hoạt động cũng là điểm khởi đầu để hiểu về ngắt, đóng vai trò quan trọng trong các hệ thống nhúng.

Thứ bảy, phân tích đầy đủ các thủ tục xử lý ngoại lệ từ đầu đến cuối.

Quá trình cho đến khi trình xử lý ngoại lệ được thực thi khi xảy ra ngoại lệ, bao gồm cả ngắt phần cứng. Mô tả toàn bộ quá trình từ khi thực thi mã xử lý ngoại lệ đến khôi phục mã chương trình ngay trước khi ngoại lệ xảy ra.

Thứ tám, bộ điều khiển đồng hồ

Tìm hiểu nguyên lý hoạt động của hệ thống đồng hồ, cung cấp đồng hồ cho nhiều thiết bị phần cứng giao tiếp với AHB và APB, bao gồm lõi CORTEX-M, bên trong bộ xử lý STM32 CORTEX và thay đổi tần số đồng hồ hệ thống trực tiếp thông qua khóa học thực hành để kiểm soát đồng hồ. Tăng cường sự tự tin của bạn vào bản thân.

Thứ chín, chúng ta hãy thực sự tái tạo chuỗi đuôi và làm gián đoạn quá trình làm tổ.

Bộ xử lý CORTEX-M hỗ trợ công nghệ 'chuỗi đuôi' để cải thiện hiệu quả xử lý ngoại lệ. Tìm hiểu cách thức hoạt động của công nghệ này và xem nó có thể giúp cải thiện khả năng phản hồi khi bị ngắt như thế nào. Chúng ta cũng sẽ xem xét lồng nhau ngắt.

Thứ mười, Phân tích mã khởi động

Cố gắng hiểu mã khởi động của một số phần mềm cũng có thể giúp ích rất nhiều trong việc hiểu cấu trúc tổng thể của phần mềm hệ thống nhúng. Bằng cách diễn giải ý nghĩa chứa trong mã khởi động thay vì chỉ sử dụng nó, chúng ta có thể đưa ra hướng phát triển phần mềm tiên tiến hơn. Tất nhiên, điều này cũng đòi hỏi kiến ​​thức tiên quyết quan trọng cho các tác vụ như chuyển bộ nạp khởi động hoặc RTOS.

Bài giảng về bộ xử lý ARM với hơn 14 năm kinh nghiệm 💡

Tôi tạo ra khóa học này với thời gian quý báu của bạn cũng như của tôi.

Dựa trên kinh nghiệm giảng dạy bộ xử lý ARM tại chỗ cho hơn 1.000 sinh viên trong hơn 14 năm, tôi quyết định tạo khóa học trực tuyến này để gặp gỡ nhiều sinh viên hơn. Chúng tôi sẽ cung cấp cho bạn bài giảng trực tuyến giúp tối ưu hóa nội dung của 5 ngày giảng dạy tại chỗ thành 15 giờ .


Tôi giới thiệu điều này tới những người này! 🔑

Hệ thống nhúng
Người mới bắt đầu

Đã là CORTEX-M
Tôi đang sử dụng nó nhưng
Tổ chức có hệ thống
Bất cứ ai cần

Trong phần mềm nhúng
Để tăng cường hiểu biết về Hàn Quốc
Nhà phát triển phần cứng

Chuyển RTOS thành công và
Để vận hành
Kiến thức về máy vi tính
Bất cứ ai cần

Bên cạnh đó, sẽ rất tốt nếu những người như thế này cũng được học!

  • 👉 Dành cho những ai muốn phát triển sản phẩm có độ ổn định và độ tin cậy cao của hệ thống
  • 👉 Dành cho những ai muốn học ngôn ngữ lắp ráp ARM
  • 👉 Những người cần học inline assembly, linker script và boot code
  • 👉 Dành cho những bạn không có thời gian tham gia lớp học offline

📢 Kiểm tra kiến ​​thức chơi của bạn!

  • Bạn nên biết ngôn ngữ C như là kiến ​​thức tiên quyết để học.

Khóa học này có gì đặc biệt ✨

  • Tính năng 1. Video được chia thành khoảng 110 chương nhỏ, giúp bạn dễ tìm kiếm hơn sau này.
  • Tính năng 2. Hoạt hình 2D được sử dụng tích cực để hỗ trợ việc hiểu biết.
  • Tính năng 3. Chúng tôi tạo điều kiện cho sinh viên có được trải nghiệm tương tự như khi tham gia buổi đào tạo thực tế trực tiếp tại chỗ.
  • Tính năng 4. Giúp bạn mạnh dạn loại bỏ nội dung không cần thiết và tập trung hơn vào nội dung cốt lõi .
  • Tính năng 5. Chúng tôi đã nỗ lực hết sức để đảm bảo rằng bạn có thể học thông qua video mà không cần phải xem hướng dẫn dành cho nhà phát triển như sổ dữ liệu.

Một cuốn sách giáo khoa (pdf) bao gồm khoảng 400 trang trình bày được sử dụng trong bài giảng sẽ được cung cấp.

Hãy xem các công cụ chúng tôi sử dụng 🧰

  • Trình biên dịch: STM32CubeIDE
  • Bảng thực hành: Bảng chính thức STmicro STM32F429I-DISC1
  • Các ví dụ thực tế và tệp sách giáo khoa: CMPro_tutorials.zip (nằm trong s102_Practical Environment Construction Getting Started with STM32CubeIDE )
  • Bo mạch được sử dụng trong bài giảng là STM32F429I-DISC1.

Đã tạo một bài giảng
Giới thiệu người chia sẻ kiến ​​thức ✒️

Hong Young-gi (Trường Gail)

Lịch sử chính

  • 1994: Phát triển phần mềm hệ thống hộp giải mã dựa trên MCU 68HC11
  • 1995: Phát triển phần mềm hệ thống hộp giải mã 68020
  • 1997: Phát triển phần mềm hệ thống cổng VoIP MPC860
  • 2001: Phát triển máy nghe nhạc MP3 cầm tay ARM720T
  • 2003: Phát triển máy nghe nhạc MP3 cầm tay ARM920T
  • 2008~Hiện tại: Bài giảng thực tế về kiến ​​trúc và sử dụng bộ xử lý ARM

vân vân

  • Phát triển bộ nạp khởi động hỗ trợ tải xuống USB dựa trên mã nguồn mở BLOB
  • Chuyển libjpeg mã nguồn mở sang chương trình cơ sở
  • Chuyển giao trình điều khiển YAFFS NAND Flash
  • chuyển miniGUI
  • Chuyển đổi thẻ FatFs + SD
  • Kênh YouTube , GitHub

Câu hỏi dự kiến ​​Q&A 💬

H. Người không biết ngôn ngữ C có thể tham gia khóa học này không?

Nếu bạn không biết ngôn ngữ C, bạn có thể gặp khó khăn trong việc hiểu các phần thực hành của lớp học.

H. Học viên trình độ trung cấp có thể tham gia khóa học này không?

Chúng tôi đã lên kế hoạch cho khóa học không chỉ dành cho những người mới bắt đầu phát triển hệ thống nhúng mà còn dành cho những người dùng trung cấp đang sử dụng CORTEX-M. Với 14 năm kinh nghiệm giảng dạy bộ xử lý ARM tại Samsung Electronics, SK Hynix, Hancom Academy, Korea Radio Promotion Agency, KEA, Motorola Semiconductor và Polytech (Incheon), tôi có hiểu biết sâu sắc về các phần đặc biệt khó và các chủ đề quan trọng trong Lập trình nhúng bộ xử lý ARM.

H. Có nhiều loại bo mạch STM32 để thực hành. Có loại nào ổn không?

Trong video, lớp học hiện đang được tiến hành dựa trên bo mạch STM32F429I-DISC1 .
Ngoài ra, bo mạch NUCLEO-F103RBNUCLEO-F401RE cũng được hỗ trợ. Không có kế hoạch hỗ trợ bất kỳ bảng bổ sung nào. Đối với những bạn đang muốn mua bo mạch mới để thực hiện hướng dẫn này,
chúng tôi đặc biệt khuyên dùng bo mạch STM32F429I-DISC1.

📢 Vui lòng kiểm tra trước khi tham gia lớp học! (Giấy phép)

  • Tài liệu thuyết trình sử dụng trong bài giảng được cung cấp miễn phí cho sinh viên dưới dạng tài liệu PDF .
  • Tài liệu đi kèm chỉ dành cho mục đích sử dụng cá nhân như tài liệu bổ sung cho các video bài giảng trong Inflearn. Khi sao chép một phần hoặc toàn bộ nội dung của cuốn sách (bao gồm cả việc in lại trên trang web hoặc trên phương tiện in ấn, hoặc sao chép dưới dạng tệp điện tử), bất kể mục đích có phải vì lợi nhuận hay không, thì Luật Bản quyền Hàn Quốc sẽ được áp dụng, ngoại trừ sử dụng riêng tư theo quy định tại Điều 27 của Luật Bản quyền Hàn Quốc. Theo Điều 42, chúng tôi yêu cầu sự cho phép từ chủ sở hữu bản quyền, người chia sẻ kiến ​​thức Hong Young-gi.

Xem các bài giảng khác cùng nhau 🔍

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người mới bắt đầu về hệ thống nhúng

  • Bất kỳ ai đang cân nhắc tối ưu hóa hệ thống nhúng

  • 이미 CORTEX-M đang sử dụng nhưng cần sắp xếp hệ thống

  • Các nhà phát triển phần cứng muốn nâng cao hiểu biết về phần mềm nhúng.

  • 성공적인 RTOS porting và vận hành cần kiến thức về vi điều khiển

  • Những người muốn học ngôn ngữ lắp ráp ARM

  • Bất kỳ ai cần học lắp ráp nội tuyến, tập lệnh liên kết và mã khởi động

  • Bất kỳ ai cần các kỹ thuật gỡ lỗi chuyên nghiệp cho phần mềm hệ thống nhúng

Cần biết trước khi bắt đầu?

  • ngôn ngữ C

Xin chào
Đây là

3,192

Học viên

215

Đánh giá

262

Trả lời

4.7

Xếp hạng

5

Các khóa học

인하대학교 공과대학에서 전자공학 학사 학위를 받았으며 임베디드 시스템용 소프트웨어 개발자로써 수년간의 경력을 쌓았습니다. 임베디드 시스템 및 프로그래밍을 위한 전문 강사로도 활동 중입니다. 아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고, 그때부터 맥(북) 자동화에 관심을 갖게 되었습니다. '맥(북)에서 사용할 수 있는 시리 리모트', '키보드마에스트로를 이용한 구글번역기' 같은 오픈 소스를 깃허브(https://github.com/guileschool) 에 두고 개발 및 유지보수하고 있습니다. 오픈 소스 하드웨어 '비글본블랙' 에도 많은 관심을 가지고 있습니다. 맥(북) 자동화를 이용하여 생산성을 높일 수 있는 컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고, 이를 필요로 하는 사람들을 돕고 있습니다.

강의 요청 및 기타 문의사항은 guileschool@gmail.com으로 보내주세요 :)

Chương trình giảng dạy

Tất cả

111 bài giảng ∙ (15giờ 10phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

37 đánh giá

4.9

37 đánh giá

  • cydphj1717님의 프로필 이미지
    cydphj1717

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    ※ 1-line summary: Don't worry about anything and just listen unconditionally. Even if the tuition is 1 million won, you absolutely must listen. After reading the books <Embedded Sketch> and <Embedded Recipe>, I paid for Professor Hong Young-gi's lecture for the purpose of organizing and practicing ARM content, and it took 7 days to complete the course. ◆ Pros - It's easy to understand because he explains it so well. - It's so easy to take the course with editing the gaps between words, editing the waiting process, editing the board video, etc. - I especially liked the last chapter, where he explained the linker script and bootloader line by line. ◆ Tips - He answers questions really kindly and introduces additional materials that are good to read. Check the Q&A board every time you take a lecture. - It's good to open the two datasheets PM0214 and RM0090 and listen to the lecture.

    • guileschool
      Giảng viên

      You've done well ^^. Thank you for watching the video until the end, and thank you for your hard work. There must be many shortcomings, but thank you for your good evaluation of the lecture. The detailed course review you wrote will be a good reference for many people who are considering taking this course in the future. Embedded Jun, Happy New Year and I hope your wishes come true :-)

  • hjh56103981님의 프로필 이미지
    hjh56103981

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    This is a systematic summary of Cortex-M. Not only can it be applied to M0/M4/M7, but it is also possible to use debugging through assembler to check where the firmware is messed up when using multiple interrupts, so it is a basic lecture that is essential for advanced firmware designers.

    • yoonhj7328님의 프로필 이미지
      yoonhj7328

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      49% đã tham gia

      I was using embedded software, but assembler was an unfamiliar area, so I thought I should learn it, but I couldn't easily get the hang of it. I think I gained some confidence through the instructor's lecture. Thank you for the helpful lecture!

      • bravosung1331님의 프로필 이미지
        bravosung1331

        Đánh giá 3

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        "This is a lecture I would like to recommend to those who want to easily understand embedded infrastructure technology and ARM operating principles. When a compilation error occurs, I feel psychologically discouraged, and if it is not C grammar but a strange command that I have never seen before, I get even more stressed. After taking this lecture, I was able to handle such errors more leisurely. It is easy to understand because the key content is divided into short sections and explained with practice. Even if you do not directly handle ARM commands in practice, you will be able to approach problem solving from a more diverse perspective because you know the basic technology of the processor that you learned in the lecture. Thank you for making this lecture^^

        • guileschool
          Giảng viên

          Hello, Taewan Sung! I am so grateful that you found this lecture helpful. I will continue to work hard to create more useful and diverse lectures. Thank you for your positive feedback on the lecture :-)

      • davidnguyen님의 프로필 이미지
        davidnguyen

        Đánh giá 5

        Đánh giá trung bình 5.0

        5

        31% đã tham gia

        ok

        3.227.595 ₫

        Khóa học khác của guileschool

        Hãy khám phá các khóa học khác của giảng viên!

        Khóa học tương tự

        Khám phá các khóa học khác trong cùng lĩnh vực!