Raspberry PI không có hệ điều hành trên đó?


9

Gần đây tôi đã làm rất nhiều với Arduino. Rất đơn giản vì bạn có thể thực thi trực tiếp mã C ++ trên nó mà không cần đến hệ điều hành hoặc trình điều khiển.

Tôi đã thực hiện một số nghiên cứu và AFAIK, bạn thường cài đặt Linux trên Raspberry PI và tạo các tập lệnh python hoặc nhị phân C ++ trên đó.

Câu hỏi: Có thể chạy mã trên nó mà không cần bất kỳ hệ điều hành nào, nhưng vẫn có thể sử dụng thẻ HDMI và SD?


2
Bạn có thể thấy dễ dàng hơn khi thực hiện các dự án kim loại trần trên bộ xử lý ARM nhỏ hơn và có khả năng thấp hơn nhưng hoàn toàn được ghi lại. Mặc dù coi chừng các bộ điều hợp gỡ lỗi độc quyền được triển khai trên bảng dev giá rẻ - đôi khi chúng có các trình điều khiển mở được thiết kế ngược hoặc bạn có thể mua một jtag thực hoặc sử dụng bộ tải khởi động nối tiếp. Ít nhất với pi bạn sẽ có thể mong đợi sự hỗ trợ công cụ tốt.
Chris Stratton

Câu trả lời:


16

Chạy mã trên RaPi mà không cần HĐH: Không vấn đề gì. David Welch đã thực hiện công việc lẩm bẩm , kiểm tra gitub của mình . Về cơ bản, bạn có thể lấy các tệp khởi động tiêu chuẩn và thay thế kernel.img bằng tệp bạn muốn chạy. Để tránh dance điệu nhảy thẻ SD ', bạn có thể chạy bộ tải khởi động nhận hình ảnh được chạy trên một dòng nối tiếp. Tôi đã thêm tự động khởi động lại, để bạn có thể chạy một hình ảnh mới 'rảnh ​​tay'. Nếu bạn muốn đi tuyến đường này, tôi có thêm một số thông tin.

Chạy ứng dụng kim loại trần của riêng bạn và sử dụng màn hình và thẻ SD : Đó là một vấn đề. Tất cả thông tin đều có sẵn trong các nguồn Linux và có những người làm việc về điều này (kiểm tra DexOs ?), Vì vậy tôi giả sử trong nửa năm hoặc lâu hơn thông tin này sẽ là kiến ​​thức phổ biến. Nhưng bây giờ tôi sẽ nói điều này có lẽ là quá nhiều công việc.


Tôi tự hỏi làm thế nào CPU có thể tải kernel từ thẻ SD mà không có trình điều khiển thích hợp cho thẻ SD và hệ thống tệp?
bytecode77

1
Các tệp cơ bản mà bạn cần (và có thể được tải xuống từ trang RaPi, một mình hoặc là một phần của bản phân phối Linux) bao gồm tệp khởi động cho GPU. Có lẽ GPU có một số bootROM tích hợp cho phép nó đọc SD, tải mã của nó, tải kernel.img và kích hoạt CPU ARM.
Wouter van Ooijen

@DevilsChild - Nhiều CPU có bộ tải khởi động cơ bản được tích hợp, phần TI Davinci tôi đang làm việc có "Bộ tải khởi động ROM" có thể hoạt động qua serial hoặc từ thẻ SD. Thẻ SD sử dụng giao diện SPI cơ bản.
John U

5

Điều này luôn có thể, nhưng bạn sẽ phải viết trình điều khiển của riêng mình cho HDMI và giao diện SD, và có thể cả hệ thống tệp cho cái sau.


1
Trên thực tế, nó sẽ cực kỳ phức tạp vì GPU khởi động trước và sau đó cần tải một số đốm nhị phân của Broadcom để khởi động CPU. Ngoài ra, nếu tôi nhớ chính xác, trình điều khiển GPU và phần sụn cũng là nguồn đóng.
AndrejaKo

Có trình điều khiển có sẵn mà có thể được bao gồm để nó sẽ làm việc? Bất kỳ ý tưởng?
bytecode77

@Devils Đứa trẻ Tôi không chắc nó sẽ dễ dàng như thế nào hoặc mọi thứ được ghi chép lại như thế nào. Tôi nghĩ rằng bạn có thể sử dụng bộ tải khởi động hiện có để tải hình ảnh hệ điều hành của riêng bạn và khởi động CPU, nhưng sau đó, vấn đề Stevenvh đã viết trong câu trả lời cho thấy: Bạn sẽ cần phải viết trình điều khiển và hầu hết các tài liệu cho chúng không phải là ' t có sẵn.
AndrejaKo

@DevilsChild - các trình điều khiển tồn tại rất có thể sẽ được viết cho một HĐH cụ thể và nếu bạn muốn tích hợp chúng trong phần mềm của riêng mình, nó sẽ cần một số chức năng của nó. Cuối cùng, bạn sẽ viết một bản sao (giới hạn) của HĐH. Ngoài ra, AndrejaKo chỉ ra rằng nó sẽ rất khó khăn và phần sụn nguồn đóng không giúp mọi việc dễ dàng hơn. Tại sao bạn không muốn có một hệ điều hành?
stevenvh

1
@DevilsChọn sự khác biệt quan trọng giữa một máy tính bảng đơn và VM là bạn có thể đặt bảng ở một nơi khác ngoài vị trí thực của máy lưu trữ VM; ngoài ra nó có xu hướng có I / O trong thế giới thực tốt hơn. Nhưng máy ảo và các trình giả lập hoặc giả lập chuyên dụng hơn thường có một vai trò quan trọng, chẳng hạn như để nhóm phần mềm bắt đầu làm việc trước khi phần cứng tồn tại hoặc tránh để chúng chiến đấu với bảng nguyên mẫu duy nhất được làm lại bằng tay để hoạt động hoặc chạy kiểm tra hồi quy mà không buộc bộ sưu tập các thiết bị vật lý ...
Chris Stratton

3

Tất cả những gì họ nói, nhưng, con đường DỄ DÀNG nhất là chạy một bản phân phối Linux thực hiện những gì bạn muốn và tối giản nhất có thể, sau đó loại bỏ mọi thứ bạn không muốn.

Khá sớm thôi, nó sẽ ngừng là Linux và trở thành một bộ tải khởi động với sự hỗ trợ SD & HDMI. Điều đó về cơ bản không thể phân biệt được với những gì bạn đang yêu cầu ở tất cả các khía cạnh ngoại trừ
- nó đã được trích xuất từ ​​một bản phân phối Linux (nhưng không còn là Linux) và
- bạn đã không tự làm điều đó.

Trừ khi tự mình làm điều đó hoàn toàn có tầm quan trọng hoàn toàn, đây có vẻ như là một cách tiếp cận rất logic.



0

Nếu bạn muốn lập trình "Raspberry Pi là Arduino", hãy kiểm tra hệ thống dây điện. Kiểm tra bài viết của tôi tại http://www.jating.in/efyarticle/EFYArticle.pdf .

1) Tôi đã làm cho nó trông và hoạt động giống như Arduino, bằng cách sử dụng một dây cáp để thực hiện chuyển đổi USB nối tiếp và cũng cung cấp năng lượng cho bo mạch. vì vậy chỉ cần một cáp usb là đủ như arduino.

2) Tôi đã tạo một tiện ích nhỏ mà khi chạy, sẽ tải mã Pi nối tiếp qua dòng nối tiếp (Trên thực tế là bất kỳ tệp văn bản nào :-)), biên dịch và thực thi nó.,

Nếu bạn muốn, bạn có thể chạy nó khi khởi động bằng cách sửa đổi tệp .bashrc, vì vậy mỗi lần khởi động, nó sẽ chờ tệp mới. Tôi đã không cung cấp bất kỳ liên kết nào của mã tiện ích, nhưng bạn có thể tìm thấy nó tại http://www.jating.in/efyarticle/

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.