Có một bước nhảy lớn giữa tạo mẫu trên Pi và sử dụng vi điều khiển không?


25

Câu hỏi này đặt ra, trong số những điều khác, nếu có một đường cong học tập lớn giữa việc sử dụng Python trên Raspberry Pi để tạo nguyên mẫu cho điểm cuối và sử dụng vi điều khiển.

Rõ ràng có một sự cải thiện lớn về mức tiêu thụ năng lượng (với chi phí giảm thông lượng bộ xử lý), vì vậy có những lý do chính đáng để áp dụng phương pháp MCU cho một sản phẩm cần chạy bằng pin.

Một trong những lý do tiềm năng để gắn bó với máy tính một bo mạch chạy Linux là vì không có phần mềm mới để học (trên python hoặc tương tự) giả sử ứng dụng có thể được viết bằng ngôn ngữ cấp cao (nơi cần có nhiều tiêu chuẩn thư viện).

Trên nền tảng phát triển nhúng, các lựa chọn có khả năng là C ++ (mbed hoặc arduino) hoặc micropython. Ấn tượng của tôi là những thứ này không khác biệt đáng kể hoặc phức tạp hơn viết mã để chạy trong Linux - mặc dù các nền tảng có những lợi thế riêng. Tôi đã bỏ lỡ bất cứ điều gì có liên quan đến một nhà phát triển phần mềm?

Cụ thể, tôi đang hỏi về các điểm cuối IoT - vì vậy không cần thiết phải có đầy đủ tài nguyên của hệ thống Linux cho các ứng dụng tôi quan tâm ở đây. Cũng đáng nhấn mạnh rằng các cân nhắc về sức mạnh và độ trễ làm cho việc triển khai mcu trở thành một yêu cầu khó khăn trong loại ứng dụng này.

Câu trả lời:


12

Thêm vào câu trả lời toàn diện của George và điểm 2) hỗ trợ phần cứng. Ngay cả khi phần cứng mong muốn (ví dụ ethernet, WiFi, thẻ SD) được thêm vào vi điều khiển / Arduino thông qua các tấm chắn hoặc các bảng mở rộng tương tự, các thư viện để vận hành chúng đang gây áp lực lên bộ nhớ nhỏ (ví dụ ATMEGA328 (bộ điều khiển Arduino điển hình) có 32Kb FLASH và 2Kb RAM). Đặc biệt khi kết hợp nhiều tính năng (mạng, hiển thị, thẻ SD) đây có thể là một hạn chế nghiêm trọng.

Một vài ví dụ từ thế giới Arduino:

Hỗ trợ thẻ SD và hệ thống tập tin đơn giản (FAT):

  • Thẻ SD (kích thước mã không xác định nhưng có thể không phải là vấn đề lớn nếu sử dụng SPI phần cứng), bộ đệm RAM ít nhất 512 byte
  • Petit FAT FS yêu cầu ~ 2..4 kB FLASH và ~ 44 byte RAM

Sử dụng màn hình ma trận:

Ethernet với ngăn xếp giao thức TCP / IP:

  • uIP : Yêu cầu RAM trong phạm vi kích thước gói thông thường (> 1 kB), tuy nhiên, bộ điều khiển Ethernet đơn chip thường đi kèm với bộ đệm trên chip có thể chứa một vài khung Ethernet có kích thước tối đa.

    Có thể chạy triển khai uIP với ít nhất 200 byte RAM, nhưng cấu hình như vậy sẽ cung cấp thông lượng cực thấp và sẽ chỉ cho phép một số lượng nhỏ kết nối đồng thời. ( Nguồn. )

  • Ngăn xếp IP với giao thức TCP và UDP cho Arduino : bộ nhớ ngoài tối thiểu 128 kB

  • Giao diện IP qua serial: serialIP ~ 9 kB FLASH và RAM "đủ"

Nói chung, lập trình với những hạn chế đó đòi hỏi một cách tiếp cận khác nhau và yêu cầu tối ưu hóa đối với không gian chương trình và kích thước mã (FLASH), dữ liệu thời gian chạy (RAM) và tốc độ thực thi. Đây câu trả lời có nó fleshed ra độc đáo.

Như câu hỏi đặc biệt hỏi về nền tảng mbed, tất nhiên đáng chú ý là nó bao gồm các tính năng phù hợp nhất với IoT, cụ thể là kết nối cùng với mã hóa, xác thực và ủy quyền. Nó được cho là cung cấp hỗ trợ phần cứng của Bluetooth Low Energy và IPv6 qua Mạng không dây cá nhân không dây công suất thấp. Mặc dù các tính năng kết nối này chỉ khả dụng trên các bảng phát triển được liệt kê với thông thường> = 128 kB FLASH và> = 16 kB RAM. Mặt khác, các bảng dev nhỏ hơn bao gồm các hệ thống có bộ vi điều khiển nhỏ như ARM Cortex-M0 + Core với 16KB Flash, RAM 4KB (nghĩa là không nhiều hơn Arduinos cỡ trung bình) mà không có kết nối chuyên dụng.


Hạn chế về nguồn lực là khoảng cách lớn nhất trong các giả định của tôi - dễ quên hầu hết mọi người phát triển mà không có những vấn đề này hầu hết thời gian.
Sean Houlihane

20

Nó phụ thuộc vào những gì bạn đang cố gắng làm.

  1. Khoảng cách lớn nhất là một bộ vi điều khiển mà bạn đã đề cập (như Arduino) không chạy hệ điều hành đa nhiệm như Linux. Điều này có nghĩa là nếu ứng dụng của bạn phụ thuộc vào đa nhiệm hoặc đa luồng, điều này có thể khó hơn nhiều hoặc thậm chí không thể chạy trên Arduino.

  2. Khoảng cách thứ hai là hỗ trợ phần cứng. Ví dụ, Raspberry Pi hỗ trợ máy ảnh, âm thanh USB, ethernet, WiFi ra khỏi hộp. Không ai trong số đó được Arduino hỗ trợ trực tiếp và trong khi bạn có thể sử dụng nhiều lá chắn khác nhau (như USB Host, Ethernet hoặc WiFi), thì việc sử dụng chúng không đơn giản như sử dụng mạng trên Raspberry Pi.

  3. Khoảng cách thứ ba là tài nguyên có sẵn. Hầu hết các bộ vi điều khiển thậm chí không đến gần với tài nguyên mà Raspberry Pi cung cấp. Ví dụ, ngay cả Raspberry Pi đầu tiên cung cấp CPU chạy ở tốc độ 700 MHz với 256Mb RAM và có thể được sử dụng với 32Gb dung lượng lưu trữ. Một Arduino Uno điển hình dựa trên ATMEGA328 đang chạy ở tốc độ 16 MHz và có 32Kb dung lượng lưu trữ và 2Kb RAM.

Vì vậy, sử dụng Raspberry Pi chắc chắn dễ dàng hơn nhiều cho các nhà phát triển đến từ PC. Những ưu điểm chính của việc sử dụng vi điều khiển là:

  • chi phí (một bản sao Trung Quốc của Arduino Nano có giá dưới 2 đô la một mảnh khi vận chuyển)
  • tiêu thụ năng lượng (vi điều khiển có thể được tối ưu hóa thực sự tốt cho mức tiêu thụ điện năng thấp - quan trọng nếu bạn phải chạy bằng pin);
  • tính khả dụng trong thời gian thực, tức là khả năng phản ứng khi thay đổi tín hiệu trong thời gian thực;
  • kích thước (Arduino Mini hẹp hơn hai lần so với Raspberry Pi Zero, và nếu bạn không cần nhiều chân đó, kích thước ATTINY85 nhỏ hơn một xu và nó hoạt động mà không cần pha lê).

Nếu không có cái nào quan trọng, sử dụng Raspberry Pi chắc chắn có ý nghĩa hơn.


3
Năng lượng pin và không có yêu cầu tài nguyên lớn là các trình điều khiển để sử dụng mcu - vì vậy tôi giả sử bộ xử lý 10 - 100 MHz là đủ. Điểm hợp lệ khi sử dụng các thiết bị ngoại vi, mặc dù SPI có thể tương đương với mcu của USB.
Sean Houlihane

2
Chỉ cần có một chiếc xe buýt là không đủ. Cân nhắc sử dụng WiFi trên Linux, ứng dụng của bạn không cần bất kỳ kiến ​​thức cụ thể nào về nó, cùng mã hoạt động với Ethernet sẽ hoạt động với giao diện WiFi. Đây không phải là trường hợp với vi điều khiển, bạn sẽ phải sử dụng các thư viện khác nhau, tìm hiểu cách sử dụng chúng và thay đổi mã.
George Y.

1
OK, đã không nhận ra rằng việc sử dụng một thư viện khác sẽ là một rào cản lớn.
Sean Houlihane

2
Nếu bạn không cần nhiều ghim, bạn có thể nhận được ATtiny4 có kích thước bằng hạt gạo: P
Nick T

1
nó dường như không nhỏ hơn nhiều so với Attiny85 :) nhưng bạn đã đúng, nếu chúng ta nghĩ rằng không phải là DIP, thậm chí 85 là một đầu ngón tay.
George Y.

9

CÓ, đó là một bước nhảy lớn từ lập trình trong Python sang lập trình bằng các công cụ ngôn ngữ dựa trên C điển hình trên bộ điều khiển vi mô. Trong thực tế, trong nhiều trường hợp, bạn có thể cần phải viết một số, nếu không phải tất cả, ứng dụng của bạn bằng ngôn ngữ lắp ráp.

Như đã chỉ ra trong các câu trả lời khác, bộ điều khiển vi mô bị hạn chế rất nhiều tài nguyên và do đó bạn mất tất cả các tiện ích của hệ điều hành Linux và tất cả các công cụ mà bạn có thể chạy cục bộ. Lặp lại với Arduino IDE rất chậm so với việc chạy các tập lệnh cục bộ.

Mặc dù tôi có nhiều kinh nghiệm chuyên môn với bộ vi điều khiển và bộ vi xử lý, tôi thích chạy các dự án cá nhân của mình bằng phần cứng RPi với một số Arduinos cho các công cụ quan trọng theo thời gian thực. Tôi cũng đã tìm hiểu về Beagle Bone Black và trong một số cách, nó thuận tiện hơn so với sử dụng RPi với một hoặc nhiều Arduinos.


9

Vâng, sự khác biệt lớn

Sự khác biệt giống như ngày và đêm, cả về phần cứng và phần mềm. Không có so sánh hợp lệ nào cả.

Khi nào sử dụng

Sử dụng Arduino, nếu ...

  • Giới hạn không gian làm cho một Pi không khả thi.
  • Việc sử dụng năng lượng của một Pi sẽ là quá nhiều.
  • Tiền là một vấn đề (đặc biệt nếu bạn cần một vài hoặc nhiều bộ điều khiển riêng lẻ trong dự án của mình, mỗi bộ chỉ thực hiện logic rất đơn giản).
  • Bạn muốn có được nitty và gritty và làm việc ở cấp độ thấp hơn nhiều cho vui hoặc để có được kiến ​​thức.
  • Bạn cần cực kỳ đơn giản và / hoặc hành vi thời gian thực được xác định 100% và không có cơ hội nào đó ngoài tầm kiểm soát của bạn giết chết chương trình của bạn.
  • Bạn không cần ethernet, chức năng lưu trữ USB khó khăn (ví dụ: truy cập ổ đĩa cứng; sử dụng nó ở phía máy khách, ví dụ như thiết bị HID, vẫn ổn), v.v. Hầu hết trong số này có thể được trang bị cho Arduino (verrry slooowly), nhưng với chi phí cao về RAM / EPROM và cả chức năng. Vì không có đa nhiệm ưu tiên, việc bỏ chặn nhiệm vụ trở nên khá phức tạp rất nhanh.
  • Bạn ổn với IDE phát triển Arduino đơn giản hoặc đào sâu hơn nhiều (nghĩa là tự xây dựng các chương trình) và - nếu bạn không dùng thiết bị tải lên USB như Pro Micro - bộ công cụ phát triển tự mua hoặc tự tạo / đầu đốt.

Trong tất cả các trường hợp khác, Pi rất thân thiện với người dùng. Pi chỉ đơn giản là một máy tính (chậm) khác.

Đừng hiểu lầm tôi. Tôi sở hữu một Pi và sử dụng nó cho một số dịch vụ Linux trong mạng của tôi. Tôi cũng thường xuyên lập trình Arduinos (chủ yếu là Pro micros). Cả hai đều tuyệt vời, tôi thích chúng giống nhau, nhưng chúng có kịch bản sử dụng rất khác nhau.

Về câu hỏi của bạn về khó khăn - nó là tương đối. Lần duy nhất Arduino gặp khó khăn với tôi là khó gỡ lỗi các vấn đề về thời gian, đặc biệt là nếu kết hợp với các thiết bị điện tử nghi vấn (ví dụ, nhiễu EM, cáp quá dài, v.v.). Nếu bạn chắc chắn về ngôn ngữ của mình (ví dụ: C cho Arduino IDE), thì bạn sẽ có thể hack bất kỳ thư viện nào bạn đang sử dụng. Tuy nhiên, nó sẽ luôn phức tạp hơn sau đó là Pi, nơi bạn có thể sử dụng ngôn ngữ kịch bản mà bạn chọn cho những thứ không quan trọng về thời gian - những thứ đó sẽ luôn dễ dàng phát triển và gỡ lỗi hơn.


Tôi không hỏi đó là nền tảng phát triển tốt nhất - trường hợp sử dụng của tôi yêu cầu một mcu, chủ yếu là do các hạn chế về năng lượng. Tôi thấy câu hỏi không quá rõ ràng về điểm này mặc dù.
Sean Houlihane

Được rồi, phần đầu tiên của câu trả lời sẽ đủ. Tôi sẽ để phần còn lại là "phụ lục" nếu bạn thích.
AnoE

7

Tôi tin rằng có một vài điểm chưa được chỉ định rõ ràng.

Môi trường phát triển hoàn toàn khác nhau. Bạn thực sự có thể phát triển phần mềm Pi TRÊN Pi, thậm chí bạn có thể sử dụng GUI nếu muốn. Có các công cụ sửa lỗi nâng cao được tích hợp sẵn cũng như rất nhiều thứ có sẵn cho bất kỳ hệ thống máy tính nào.

Các bộ điều khiển sẽ phải được phát triển / mô phỏng trên một máy tính riêng biệt sau đó được gửi đến bộ điều khiển để thử nghiệm cuối cùng.

Pi có thể chạy hầu như bất kỳ ngôn ngữ nào bạn muốn lập trình với nó, các bộ điều khiển vi mô thường sẽ có một hoặc hai.

Pi có thể chạy khá nhiều hệ điều hành (Bao gồm cả Windows IoT và một loạt các hệ thống đặc biệt), các bộ điều khiển nhúng có xu hướng không chạy "Hệ điều hành" nào cả.

Ngoài ra, trong thời gian chạy / HĐH, thì Pi sẽ mất vài giây để khởi động nếu bạn thực sự muốn làm gì đó trong vài giây đầu tiên thì pi sẽ không hoạt động với bạn. Ngoài ra, trừ khi bạn đã thực hiện một số biện pháp cực đoan để ngăn chặn bất kỳ văn bản nào để lưu trữ bất cứ điều gì, bạn thực sự không nên loại bỏ năng lượng, bạn phải thực hiện "Tắt máy" và chờ một chút. Điều này cũng có thể hạn chế một số cách sử dụng.

Một điểm sau triển khai tôi chưa thấy đề cập. Tôi không chắc chắn làm thế nào tôi hoàn toàn chắc chắn rằng tôi đã bảo mật một Pi Pi đúng cách mà không có cơ quan nào bị kẹt một đoạn mã nhỏ ở đâu đó cho phép truy cập trái phép trong một số trường hợp nhất định mà không xóa nó khỏi tất cả các mạng và vô hiệu hóa tất cả các cơ chế truy cập không dây . Bộ điều khiển vi mô khá dễ bảo mật vì bạn đang viết gần như tất cả các mã đang chạy trên điều đó.

Tất nhiên, bạn luôn có thể phát triển hình ảnh Pi của riêng mình mà không cần hệ điều hành thực và chiếm toàn bộ bo mạch / CPU, điều này sẽ biến nó thành một bộ điều khiển vi mô mạnh mẽ / đắt tiền với tất cả các ưu điểm / nhược điểm liên quan. Ai đó thậm chí có thể đã làm điều này rồi nhưng tôi đã không tìm kiếm bất cứ điều gì như thế gần đây.


WRT đoạn cuối của bạn, ừ, đó gọi là kim loại trần và rất ít người làm điều đó nhưng về mặt kỹ thuật thì có thể ... chào mừng bạn đến với trang web!
Ghanima

3

Sự khác biệt giữa phát triển ứng dụng với Pi có thể rất khác hoặc hơi giống với phát triển ứng dụng với vi điều khiển do sự khác biệt về phần cứng cũng như sự khác biệt về công cụ phát triển phần mềm.

Có một loạt các bộ vi điều khiển có sẵn ở bất kỳ nơi nào từ bộ xử lý 8 bit đến 64 bit và có bất kỳ nơi nào từ vài K RAM đến vài gigabyte RAM. Các bộ vi điều khiển có khả năng hơn cung cấp trải nghiệm giống Pi hơn. Vi điều khiển kém khả năng hơn không.

Và ngay cả với Pi, có sự khác biệt lớn giữa việc phát triển cho hệ điều hành Windows 10 IoT so với phát triển cho Raspian, Mate hoặc HĐH dựa trên Linux khác. Windows 10 IoT yêu cầu một PC phát triển sử dụng chuỗi công cụ Visual Studio với trình gỡ lỗi từ xa nhắm vào môi trường Chương trình Windows phổ quát (UWP). Phát triển cho Raspian hoặc Mate thực sự có thể được thực hiện trên Pi với các công cụ có sẵn trên Pi.

Các Constrained Giao thức ứng dụng được sử dụng cho, các thiết bị nhỏ hạn chế được sử dụng với Internet của môi trường điều. Để có được ý tưởng về sự đa dạng của phần cứng và phần mềm vi điều khiển, trang này về triển khai giao thức CoAP cung cấp ý tưởng về môi trường mà nó đang nhắm mục tiêu. Nó đề cập đến hệ điều hành Contiki mà tôi đã nghe thấy mơ hồ cùng với các hệ điều hành nổi tiếng hơn như iOS, OSX và Android. Các ngôn ngữ lập trình được đề cập là Java, JavaScript, C, C #, Ruby, Go, Erlang, Rust và Python.

Chuỗi công cụ được sử dụng để phát triển với vi điều khiển khác nhau tùy thuộc vào nhà sản xuất cũng như loại tài nguyên nào có sẵn từ các cộng đồng phát triển và các sáng kiến ​​nguồn mở. Trong một số trường hợp, bạn nhận được trình biên dịch chéo, trong các trường hợp khác, bạn có trình biên dịch chéo C và trong các trường hợp khác, bạn có được chuỗi công cụ đẹp với tất cả chuông và còi và trình giả lập và tương tự như chuỗi công cụ Visual Studio cho Windows 10 IoT.

Môi trường phát triển thực tế cho vi điều khiển có thể bao gồm sử dụng trình lập trình EEPROM và các công cụ phần mềm để tạo hình ảnh mới và đẩy nó vào thiết bị hoặc thiết bị có thể có kết nối cần thiết để cho phép hình ảnh mới được tải xuống qua kết nối nối tiếp hoặc qua một kết nối mạng.

Ấn tượng của tôi là hầu hết các bộ vi điều khiển đều có trình biên dịch chéo C mặc dù trình biên dịch chỉ có thể hỗ trợ các tiêu chuẩn cũ hơn như K & R hoặc có thể là C98. Trình biên dịch chéo C thường có các từ khóa không chuẩn cho các tính năng cụ thể của bộ vi xử lý, ví dụ farneartừ khóa cho con trỏ với bộ xử lý 8080 và 8086 cũ với bộ nhớ được phân đoạn của chúng.

Ngoài ra còn có các ngôn ngữ đặc biệt nhắm mục tiêu vi điều khiển như ngôn ngữ lập trình FORTH . Các ngôn ngữ này thường có thiết kế thời gian chạy nhắm vào kim loại trần để không có hệ điều hành nào ngoài thời gian chạy ngôn ngữ.

Hệ điều hành có thể bao gồm từ thực tế không tồn tại đến Linux nguyên bản đến hệ điều hành đặc biệt như freeRTOS hoặc Windows Embedded hoặc Linux hoặc Microsoft Windows toàn diện. Xem dự án SourceForge MINIBIAN cho Raspberry Pi này . Cũng xem Sách điện tử này, Baking Pi: Phát triển hệ điều hành mô tả sự phát triển của một hệ điều hành thô sơ cho Raspberry Pi trong trình biên dịch chương trình.

Bài viết này từ Tạp chí Visual Studio, Lập trình Internet vạn vật với Visual Studio , cung cấp tổng quan về nhiều thiết bị khác nhau có sẵn sau đó là tổng quan về việc sử dụng Visual Studio IDE để phát triển cho Linux cũng như Windows.

Hiện có một vũ trụ khổng lồ và đang phát triển của các thiết bị vi điều khiển có thể lập trình, có thể lập trình sẵn hiện có. Ở mức độ rất thấp, bạn có nhiều thiết bị 16 và 32 bit đơn giản từ nhiều nhà sản xuất chip truyền thống như Texas Cụ. (Tôi đã chơi một chút với bộ phát triển SensorTag và nó rất thú vị, khiến tôi nghĩ Watch DevPack cũng có thể là một bộ công cụ học tập tuyệt vời.)

Một số thiết bị vi điều khiển nổi tiếng hơn bao gồm Arduino, BeagleBoard và Raspberry Pi. Các môi trường này đều có sự hỗ trợ cộng đồng rộng rãi và sẵn sàng gắn vào một số lượng lớn các cảm biến bên ngoài, động cơ, động cơ và bất cứ thứ gì khác mà bạn có thể tưởng tượng. Adaf Berry, siêu thị học điện tử được thành lập bởi Limor "Ladyada" Fried, cung cấp tất cả các loại thiết bị ngoại vi cho các bảng này, cùng với dòng bảng phát triển Feather nhẹ của riêng mình.

...

Vũ trụ thú vị nhất của các thiết bị dành cho các nhà phát triển quen thuộc với Microsoft .NET Framework và Visual Studio có thể là các môi trường tương thích với Windows 10 IoT Core. Đây là các thiết bị hỗ trợ x86 và ARM hỗ trợ các ứng dụng Universal Windows Platform (UWP) được viết bằng nhiều ngôn ngữ bao gồm C #, Visual Basic, Python và Node.js / JavaScript. Lõi Windows 10 IoT hỗ trợ các thiết bị bao gồm Raspberry Pi, Arrow DragonBoard 410C, Intel Joule và Compute Stick và MinnowBoard. Ngoài ra còn có các nền tảng sản phẩm thú vị, chẳng hạn như Askey TurboMate E1 có thể đeo được.

Một ví dụ cụ thể về ứng dụng Vi điều khiển

Đây là hình ảnh của một bảng vi điều khiển từ một máy pha cà phê tự động. Đây dường như là một thành phần tiêu chuẩn cho các máy pha cà phê tự động được sản xuất tại Trung Quốc. Trang web của nhà sản xuất được in trên PCB.

Hình ảnh bao gồm hai quan điểm. Khung nhìn bên trái là mặt sau của bảng chứa vi điều khiển và mạch hỗ trợ. Chế độ xem bên phải là mặt trước của bảng với màn hình LCD và một bộ nút được sử dụng để đặt thời gian hiện tại và thực hiện các hành động như lập trình thời gian bắt đầu, v.v.

Khung nhìn bên phải phù hợp với một hãng vận chuyển mà sau đó phù hợp với một lỗ mở ở phía trước của máy pha cà phê. Các công tắc trên PCB thấp hơn được kích hoạt với các công tắc cánh tay rocker. LCD, dường như là mục đích đặc biệt, được sử dụng để hiển thị thời gian và trạng thái hiện tại cũng như để hiển thị giao diện người dùng khi thay đổi cài đặt của máy pha cà phê. Đèn LED màu đỏ được sử dụng để chỉ báo khi máy pha cà phê thực sự pha cà phê và để chỉ báo khi hoàn thành bằng cách tắt đèn chiếu sáng.

nhập mô tả hình ảnh ở đây

Bộ vi điều khiển là ELAN Microelectronics Corp EM78P447NAM (bảng dữ liệu) là một bộ vi điều khiển 8 bit. Một số số liệu thống kê cơ bản cho thấy những gì một thiết bị nhỏ và tối thiểu này tuy nhiên nó hoạt động độc đáo cho mục đích dự định của nó. Mục đích là để phát triển phần mềm sau đó được tải xuống ghi một lần ROM như là một phần của sản xuất.

• Sự tiêu thụ ít điện năng:

* Less then 2.2 mA at 5V/4MHz

* Typically 35 µA, at 3V/32KHz

* Typically 2 µA, during sleep mode

• 4K × 13 bit trên ROM chip

• Ba bit bảo vệ để ngăn chặn sự xâm nhập của mã bộ nhớ OTP

• Một thanh ghi cấu hình để đáp ứng yêu cầu của người dùng

• 148 × 8 bit trên các thanh ghi chip (SRAM, thanh ghi mục đích chung)


2
Tôi không nghĩ rằng điều này giải quyết câu hỏi. Chắc chắn, một số sản phẩm không được đóng gói tốt, nhưng điều đó cũng đúng với SBC.
Sean Houlihane

1
@SeanHoulihane điều tôi đã cố gắng thực hiện với câu trả lời này là cung cấp quan điểm của vi điều khiển cho câu hỏi, cụ thể là có một loạt các thiết bị đáp ứng nhãn vi điều khiển. Có nhiều thứ cho bối cảnh hệ điều hành hơn Linux và có nhiều ngôn ngữ lập trình hơn python hay C.
Richard Chambers

1
Đối với tôi, bạn chỉ nói thế giới MCU là một mớ hỗn độn. Mà tôi cảm thấy là sai lệch.
Sean Houlihane

1
@SeanHoulihane Tôi xin lỗi vì ấn tượng của bạn từ bài viết của tôi là thế giới MCU là một mớ hỗn độn. Một cách giải thích khác là thế giới MCU là một trong nhiều cơ hội và cơ hội tuyệt vời, tuy nhiên người đọc mang những thành kiến ​​và thành kiến ​​của riêng họ cho bất kỳ câu chuyện kể nào.
Richard Chambers
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.