
Lập trình bộ xử lý ARM Cortex-M
guileschool
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.
Basic
ARM Architecture, Cortex, Embedded
Bạn có nghĩ chỉ cần dùng RTOS là xử lý được thời gian thực? Hãy xem bài giảng này để kiểm chứng. Sẽ mang đến cái nhìn sâu sắc về interrupt, ưu tiên, loại trừ lẫn nhau, porting phức tạp.
897 học viên
Độ khó Cơ bản
Thời gian Không giới hạn

Đánh giá từ những học viên đầu tiên
5.0
trueangel5
Tôi rất thích nó. Còn việc đưa các dự án thực tế (chẳng hạn như máy nghe nhạc mp3, robot lái xe, máy bay không người lái, v.v.) bằng FreeRTOS vào bài giảng thì sao? Tôi rất thích bài giảng tốt.
5.0
Embedded June
Rất nhiều nỗ lực đã được đầu tư vào các tệp thực hành và video bài giảng để bạn có thể dễ dàng thực hành các chức năng chính của FreeRTOS. Tôi nghĩ đây có lẽ là khóa học FreeRTOS tốt nhất mà công chúng có thể truy cập trên thị trường. Bài giảng này rất dễ hiểu vì nó phân biệt rõ ràng phần bạn cần tập trung và phần bạn không nên tập trung, đồng thời giải thích bằng nhiều ví dụ khác nhau. Khi tôi sử dụng FreeRTOS cho đồ án tốt nghiệp của mình, tôi nhớ việc đọc tài liệu tham khảo n lần đã khó khăn như thế nào. Tôi ước gì tôi đã tham dự bài giảng này sớm hơn. Cảm ơn bạn rất nhiều vì đã cung cấp một bài giảng tuyệt vời.
5.0
꿈꾸는소년
Cảm ơn bạn vì bài giảng tuyệt vời.
Cách triển khai thời gian thực cứng
Cách vận hành ngắt ổn định và hiệu quả
Cách khắc phục suy giảm hiệu suất hệ thống do loại trừ tương hỗ thường xuyên
Cách đảm bảo xác định ưu tiên nhiệm vụ
Kiểm tra xem tác vụ tôi đã tạo có hoạt động theo thời gian thực không.
Cách porting
Tóm tắt FreeRTOS trong một bài giảng!
Kiểm tra mọi thứ từ khái niệm đến kiến thức thực tế.
RTOS là viết tắt của hệ điều hành thời gian thực .
Để bạn có thể hoàn thành công việc trong thời gian giới hạn.
Đây là hệ điều hành đã được tạo ra.
RTOS là một hệ điều hành được phát triển cho các ứng dụng thời gian thực. Nó được sử dụng trong các sản phẩm nhúng thuộc nhiều lĩnh vực khác nhau, bao gồm ô tô, thiết bị gia dụng, y tế, hàng không vũ trụ, quốc phòng, điều khiển công nghiệp và tự động hóa, cũng như trong các môi trường đòi hỏi hiệu suất và độ tin cậy cao .
Ngay cả các tác vụ đòi hỏi mức độ cao (Hard-Realtime) cũng có thể xử lý kết quả trong thời gian giới hạn thông qua hệ điều hành thời gian thực.
Vì được ứng dụng trong nhiều lĩnh vực, RTOS cũng có nhiều loại và hình thức cấp phép khác nhau. FreeRTOS là hệ điều hành thời gian thực (RTOS) tốt nhất cho vi điều khiển và vi xử lý cỡ nhỏ. Mã nguồn FreeRTOS được phân phối miễn phí, vì vậy bạn có thể tải xuống FreeRTOS và bắt đầu phát triển.
FreeRTOS thường được ghi vào bộ nhớ dưới dạng một hình ảnh duy nhất được biên dịch với tất cả các thành phần cần thiết cho một ứng dụng nhúng.
Bất kể sử dụng bộ vi xử lý nào, các nhà phát triển ứng dụng nhúng đều có thể sử dụng cùng một giao diện chuẩn hóa cho hạt nhân FreeRTOS và tất cả các thư viện phần mềm FreeRTOS.
Nhân FreeRTOS được thiết kế nhỏ gọn, đơn giản và dễ sử dụng. Kích thước ảnh nhị phân của nhân RTOS thông thường là 4-9K byte .
Nhìn chung, các ứng dụng dựa trên FreeRTOS có ưu điểm là đơn giản hơn nhiều so với các hệ thống dựa trên Linux.
Freeertos.org cung cấp một loạt hướng dẫn chi tiết về cách sử dụng hạt nhân FreeRTOS, bao gồm hướng dẫn bắt đầu nhanh (nhấp vào) . Bằng cách hỗ trợ ngắt không cần kích hoạt, vi điều khiển có thể duy trì trạng thái ngủ DEEP SLEEP cho đến khi xảy ra ngắt hoặc hạt nhân RTOS chuyển tác vụ sang trạng thái sẵn sàng.
Amazon đã triển khai một số thư viện phần mềm dựa trên nhân FreeRTOS, cho phép các thiết bị IoT kết nối an toàn với đám mây của mình. Khi Amazon FreeRTOS được triển khai trên các thiết bị IoT, chúng có thể kết nối an toàn với các dịch vụ đám mây như AWS IoT Core và được cập nhật từ xa bằng tính năng cập nhật OTA.
Một sự thật hiển nhiên là FreeRTOS có một kernel miễn phí và dựa trên mã nguồn .
Vậy lợi ích thực sự của việc truy cập vào mã nguồn của hạt nhân là gì?
Việc kernel tôi sử dụng cung cấp mã nguồn đồng nghĩa với việc người dùng có thể xem nội dung của nó bất cứ khi nào họ muốn. Tuy nhiên, nếu mục tiêu cuối cùng của chúng ta là lái tốt một chiếc xe có tên RTOS, liệu việc dành nhiều thời gian và công sức hơn cho những việc như tuân thủ tín hiệu đèn giao thông, tuân thủ quy định an toàn khi qua đường, quan sát gương chiếu hậu và không tăng tốc quá nhanh có hữu ích hơn không, thay vì tập trung vào việc tìm hiểu cấu trúc hoặc nguyên lý của xe động cơ đốt trong?
Bạn cũng có thể phân tích mã nguồn kernel để cải thiện hiệu suất kernel, nhưng tôi không khuyến khích điều này vì mọi sửa đổi mã đều đi kèm trách nhiệm. Thay vào đó, tôi nghĩ việc tìm và khắc phục sự cố trong ứng dụng của mình bằng cách sử dụng mã nguồn kernel, hoặc để hiểu rõ hơn về cách thức hoạt động của kernel, là rất hữu ích.
Từ bây giờ, chúng tôi sẽ tóm tắt những thông tin cần thiết mà chúng ta cần biết để vận hành đúng cách một chiếc xe có tên là FreeRTOS.
Tất cả những điều trên là những chủ đề cốt lõi của bài giảng này. Bây giờ, chúng ta hãy đi sâu vào chi tiết.
Ngay cả khi bạn xây một ngôi nhà với cùng vật liệu, một ngôi nhà do một thợ mộc nào đó xây dựng sẽ an toàn và không bị rung lắc bởi gió mạnh hay rò rỉ nước, trong khi một ngôi nhà do một thợ mộc khác xây dựng sẽ bị nhỏ giọt từ trần nhà ngay cả khi trời mưa nhỏ. Vào mùa đông, ngôi nhà sẽ không được cách nhiệt tốt và dẫn đến chi phí sưởi ấm cao. Sự khác biệt là gì? Việc bạn sử dụng RTOS không tự động đảm bảo hiệu suất thời gian thực của chương trình hoặc sản phẩm bạn tạo ra. Điều này không chỉ áp dụng cho FreeRTOS mà còn cho tất cả các RTOS. Bài giảng này sẽ hướng dẫn bạn những nỗ lực cần thiết để đảm bảo hoặc đạt được hiệu suất thời gian thực cứng.
Chúng ta sẽ xem xét các ví dụ về cách định kiến có thể tác động tiêu cực đến các sản phẩm hoặc chương trình mà chúng ta tạo ra và khám phá các giải pháp để giải quyết chúng.
Đợi đã. Bạn biết Mutex làm giảm hiệu năng hệ thống phải không? Hãy cùng tìm hiểu cách khắc phục hoặc tìm giải pháp thay thế.
Bất kỳ ai đã từng cố gắng sắp xếp thứ tự ưu tiên công việc đều biết rằng việc này có thể rất khó khăn. Tôi sẽ nói về những cạm bẫy của việc ưu tiên quá mức cho các nhiệm vụ quan trọng và đề xuất các giải pháp thay thế.
Nếu cần, bạn có thể cần thêm thiết bị đo lường hoặc thiết bị tương đương ngoài trình gỡ lỗi. Tất nhiên, bạn có thể phát triển và thử nghiệm mà không cần những thiết bị này, nhưng việc xác định vấn đề và chuẩn bị biện pháp ứng phó sẽ dễ dàng hơn. Tôi sẽ hướng dẫn bạn cách kiểm tra xem tác vụ tôi đã tạo có đang chạy trong thời gian thực cứng hay không.
Khi hiệu năng phần cứng của sản phẩm tôi tạo ra được nâng cấp, tất nhiên sẽ cần phải porting. Tôi sẽ chia sẻ kinh nghiệm và bí quyết lâu năm của mình để có thể tự port kernel mà không cần sự trợ giúp của người khác.
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.
Sau 13 năm giảng dạy RTOS tại chỗ, tôi quyết định tạo ra các bài giảng trực tuyến để gặp gỡ nhiều học viên hơn. Tôi sẽ giới thiệu đến các bạn một bài giảng trực tuyến tối ưu hóa nội dung của 4 ngày giảng dạy tại chỗ thành 8 giờ .
Lần đầu tiên với RTOS
Học tập cho người mới bắt đầu
Dành cho các sản phẩm dựa trên FreeRTOS
Dành cho những ai đang nghĩ đến việc tối ưu hóa
Hệ điều hành nhẹ cho sản phẩm
Những người muốn nộp đơn
IoT (Internet vạn vật)
nhà phát triển
👉 Dành cho những ai muốn giết hai con chim bằng một hòn đá: thời gian thực cứng và tính ổn định của sản phẩm
👉 Dành cho những ai muốn so sánh và đánh giá với hệ điều hành Linux
👉 Bất kỳ ai muốn nâng cao hiểu biết về hệ điều hành
👉 Dành cho những bạn không có thời gian tham gia lớp học offline
Hãy kiểm tra kiến thức chơi game của bạn!
Lịch sử chính
vân vân
H. Người không biết ngôn ngữ C có thể tham gia khóa học này không?
Khóa học này phù hợp cho cả kỹ sư lẫn sinh viên không chuyên ngành và những người quan tâm đến các sản phẩm nhúng RTOS. Tuy nhiên, 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 liên quan đến đào tạo thực hành trên lớp.
H. Học viên trình độ trung cấp có thể tham gia khóa học này không?
Khóa học được thiết kế không chỉ dành cho người mới bắt đầu làm quen với RTOS mà còn dành cho cả người dùng trung cấp đã sử dụng RTOS. Với 15 năm kinh nghiệm giảng dạy lập trình RTOS tại Đại học Quốc gia Seoul, Samsung Electronics, LG Electronics, Hyundai Mobis, LS Industrial Systems và Cơ quan Phát triển Quốc phòng, tôi đã trình bày chi tiết những phần khó và các chủ đề quan trọng của lập trình RTOS.
H. Bạn có dạy về Internet vạn vật (IoT) trong lớp không?
FreeRTOS được sử dụng trong nhiều thiết bị IoT, nhưng khóa học này tập trung vào một chủ đề: hạt nhân RTOS.
H. Có nhiều loại bo mạch STM32 để thực hành. Có loại nào phù hợp không?
Trong video, lớp học hiện đang được tiến hành dựa trên bo mạch STM32 Nucleo64 f103rb.
Nếu bạn muốn thực hành trên một bo mạch STM32 khác, hãy xem video '(Phụ lục) Thực hiện theo bài giảng với bo mạch Nucleo của tôi', sau đó sửa đổi mã nguồn của tệp ví dụ thực hành (freeRTOS_tutorials) để phù hợp với bo mạch mong muốn của bạn và sử dụng bài giảng này hoặc yêu cầu người hướng dẫn sửa đổi mã nguồn để phù hợp với bo mạch mong muốn của bạn (miễn phí. Thường mất 1-2 ngày. Nộp đơn tại góc Hỏi & Đáp.)
H. FreeRTOS có tốt không?
Đó là một câu hỏi rất hay. Và cũng là một câu hỏi khó. Tôi có 12 năm kinh nghiệm phát triển hệ thống nhúng, và kinh nghiệm của tôi trải rộng trên nhiều lĩnh vực như firmware, RTOS và Linux nhúng.
Đối với câu hỏi hệ điều hành nào tốt hơn, tôi đã chuẩn bị câu trả lời chính thức sau:
(1) Miễn phí/Trả phí (2) Mã nguồn/Nhị phân (3) Có nhiều người dùng (4) Hỗ trợ môi trường phát triển
Đây là những yếu tố quan trọng cần cân nhắc khi lựa chọn RTOS.
FreeRTOS đạt gần như tuyệt đối điểm cho các mục 1, 2 và 3 ở trên. Tôi không cho rằng FreeRTOS là hệ điều hành tốt nhất, nhưng ít nhất tôi vẫn khuyên dùng.
H. Tôi đang sử dụng VxWorks. Khóa học này có giúp ích gì cho tôi không?
Mặc dù tên khóa học là Lập trình FreeRTOS, nhưng khóa học này được thiết kế tập trung vào bản chất (cốt lõi) của RTOS. Hơn nữa, như bạn có thể thấy trong sơ yếu lý lịch của tôi, tôi đã sử dụng nhiều RTOS khác nhau.
Bài giảng này bao gồm những kiến thức phổ biến bạn cần biết, các kỹ năng thường dùng, cũng như những hiểu lầm và định kiến mà người dùng thường gặp, bất kể bạn sử dụng RTOS nào. Tôi tin rằng bạn sẽ thấy bài giảng này hữu ích.
Vui lòng kiểm tra trước khi tham gia lớp học! (Giấy phép)
Bậc thầy về tập lệnh Shell Linux
Mã hóa Shell Linux
Trải nghiệm những tính năng mạnh mẽ.
Khóa học này dành cho ai?
Người nhập môn RTOS
Người muốn tích hợp OS nhẹ vào sản phẩm.
Người cần học về hệ điều hành
Người đang tìm cách tối ưu sản phẩm FreeRTOS.
Những ai muốn sản phẩm có cả thời gian thực cứng và độ ổn định.
Cần biết trước khi bắt đầu?
Ngôn ngữ C
3,379
Học viên
241
Đánh giá
272
Trả lời
4.7
Xếp hạng
5
Các khóa học
Tôi đã nhận bằng Cử nhân Kỹ thuật Điện tử tại Đại học Inha và đã tích lũy được nhiều năm kinh nghiệm với tư cách là nhà phát triển phần mềm cho hệ thống nhúng. Tôi cũng đang hoạt động với tư cách là giảng viên chuyên nghiệp về hệ thống nhúng và lập trình. Tôi bắt đầu làm quen với Mac(Book) cùng thời điểm iPhone 3GS ra mắt, và kể từ đó tôi bắt đầu quan tâm đến tự động hóa trên Mac(Book). Tôi đang phát triển và duy trì các mã nguồn mở như 'Siri Remote có thể sử dụng trên Mac(Book)', 'Google Translate sử dụng Keyboard Maestro' trên GitHub (https://github.com/guileschool). Tôi cũng rất quan tâm đến phần cứng nguồn mở 'BeagleBone Black'. Tôi quan tâm đến tất cả các lĩnh vực sử dụng máy tính có thể nâng cao năng suất bằng cách sử dụng tự động hóa Mac(Book) và đang giúp đỡ những người cần điều đó.
Vui lòng gửi yêu cầu bài giảng và các thắc mắc khác đến guileschool@gmail.com :)
Tất cả
206 bài giảng ∙ (9giờ 21phút)
Tài liệu khóa học:
6. Nhiệm vụ
02:13
8. Trạng thái nhiệm vụ
01:34
9. Kernel là gì
01:08
10. Kernel độc quyền
03:28
12. Lập lịch vòng tròn
01:13
13. Lập lịch ưu tiên
03:42
14. Ngắt quãng
02:58
15. IO chặn
03:31
16. IO không chặn
04:26
17. Đồng hồ của hạt nhân
02:06
18. RTOS là gì
05:33
20. Các loại RTOS
04:13
23. Hình thức tác vụ
01:58
30. Chuyển đổi-CMSIS
00:59
33. đang chuyển - printf
04:08
Tất cả
79 đánh giá
4.8
79 đánh giá
Đánh giá 1
∙
Đánh giá trung bình 5.0
Đánh giá 4
∙
Đánh giá trung bình 5.0
5
Rất nhiều nỗ lực đã được đầu tư vào các tệp thực hành và video bài giảng để bạn có thể dễ dàng thực hành các chức năng chính của FreeRTOS. Tôi nghĩ đây có lẽ là khóa học FreeRTOS tốt nhất mà công chúng có thể truy cập trên thị trường. Bài giảng này rất dễ hiểu vì nó phân biệt rõ ràng phần bạn cần tập trung và phần bạn không nên tập trung, đồng thời giải thích bằng nhiều ví dụ khác nhau. Khi tôi sử dụng FreeRTOS cho đồ án tốt nghiệp của mình, tôi nhớ việc đọc tài liệu tham khảo n lần đã khó khăn như thế nào. Tôi ước gì tôi đã tham dự bài giảng này sớm hơn. Cảm ơn bạn rất nhiều vì đã cung cấp một bài giảng tuyệt vời.
Tháng sáu nhúng thân mến! Giống như các phần lặp lại trong ngôn ngữ lập trình được tạo bằng câu lệnh hoặc hàm vòng lặp, bạn có thể nhanh chóng kiểm tra các tệp nguồn được sử dụng nhiều lần trong khoảng 10 ví dụ thực hành và nguồn bạn muốn xem (ví dụ: task.c, FreeRTOSConfig.h) Tôi đã chú ý. Tôi biết ơn vì phần đó rất hữu ích. Tôi hy vọng được gặp lại bạn với một bài giảng giàu thông tin hơn hahaha~~
Đánh giá 3
∙
Đánh giá trung bình 5.0
Đánh giá 4
∙
Đánh giá trung bình 4.8
5
Chắc tại bài giảng ngắn nên đỡ buồn ngủ hơn hihi.
Để mình thử làm cả video gây buồn ngủ nữa nhé. ㅋㅋㅋ Đùa thôi ạ.
Đánh giá 1
∙
Đánh giá trung bình 5.0
3.850.093 ₫
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!