Saya tertarik menggunakan Raspberry Pi sebagai unit CPU tertanam murni, untuk pengembangan aplikasi tertanam. Karena Raspberry Pi memiliki CPU yang kuat dengan memori yang cukup besar, Raspberry Pi menjadi papan yang disematkan dengan sangat baik.
Apakah mungkin untuk menggunakan Raspberry Pi tanpa OS Linux? Bagaimana saya bisa melakukan ini?
operating-systems
electronics
FarhadA
sumber
sumber
Jawaban:
Saya telah melihat ke dalam pemrograman bare metal pada Raspberry Pi dan sepertinya itu yang ingin Anda lakukan. Ada beberapa topik forum yang bagus tentang pemrograman bare metal dengan beberapa orang yang telah berupaya keras agar kode mereka berfungsi. Lihat ini untuk memulai:
Panduan untuk Memulai Logam Telanjang di Raspi
Memprogram RPi pada bare metal
Pemrograman di Dasar pada Bare Metal Tutorial 1
atau secara umum Anda dapat pergi ke Bare Metal Forum Raspberry Pi dan hanya melihat-lihat.
Pemahaman saya adalah bahwa Anda harus melakukan booting dari kartu SD karena urutan boot yang dibangun ke dalam chip Broadcom. Saya mencoba menemukan tautan untuk urutan boot tetapi google fu saya tidak berfungsi, saya akan mengedit nanti jika saya menemukannya.
sumber
satu-satunya cara untuk mem-boot adalah dari sd32 diformat fat32, beralih dari pemuatan firmware ke gpu yang mengeksekusi semua file binary arm bernama kernel.img jadi jika Anda ingin membuat kernel kustom yang melakukan apa pun yang Anda cari lakukan pada saat ini
sumber
Saya telah membuat emulator IBM S / 390 dalam C # yang secara teoritis akan berjalan di bawah Mono / Linux karena mengkompilasi ke kode CIL dan tidak menggunakan sumber daya .NET yang tidak didukung. Ini akan memungkinkan solusi tertanam menggunakan tabel kontrol platform independen dengan juru bahasa mesin negara terbatas kustom. Itu masih akan memiliki Linux O / S penting di latar belakang sekalipun.
sumber
Sepenuhnya minimal blinker logam telanjang contoh otomatis
Diuji pada Ubuntu 16,04 host, Raspberry Pi 2. Penggunaan:
Masukkan kartu SD pada host
Buat gambar:
Dimana:
/dev/mmblck0
adalah perangkat kartu SDp1
adalah partisi pertama perangkat (/dev/mmblck0p1
)Kartu SD inset pada PI
Matikan dan hidupkan
GitHub hulu: https://github.com/cirosantilli/raspberry-pi-bare-metal-blinker/tree/d20f0337189641824b3ad5e4a688aa91e13fd764
mulai
main.c
skrip
make.sh
sumber