Mengintegrasikan biner lain

8

Saya sedang membangun biner untuk ARM menggunakan GCC dan Crossworks. Saya memiliki gambar biner sekunder yang perlu dimuat ke IC lain saat memulai.

Saya suka mengintegrasikan biner ini ke rantai alat saya, dengan kata lain, saya membuat bagian biner ini dari gambar saya dan setiap kali saya membangun biner ini diintegrasikan ke dalam file biner akhir yang akan dimuat ke CPU. Apa praktik terbaik untuk ini?

Terima kasih

Ktc
sumber

Jawaban:

3

Anda dapat menggunakan objcopyuntuk mengubah gambar biner menjadi file objek. File objek akan berisi simbol yang dapat diakses dari kode C. Kemudian beri tahu GCC untuk menautkan file objek dan Anda dapat mengakses simbol dalam file objek menggunakan externuntuk memuat data ke IC lain.

Berikut ini adalah tutorial yang bagus tentang cara menautkan dalam gumpalan biner termasuk cara mengajukan opsi yang perlu Anda lewati untuk objcopymenggunakan objdump.

Dan tentu saja objcopyhalaman manual dan objdumphalaman manual .

tertanam.kyle
sumber
jawaban super .. aku butuh total 5 menit untuk membuat ini bekerja ..
Ktc
Pertanyaan tambahan. File obj berfungsi dengan baik namun toolchain menempatkannya dalam RAM yang menjadi masalah karena ukuran file. Bagaimana saya bisa memaksa objek ini ditempatkan di Flash?
Ktc
dipecahkan .. pada dasarnya, keberatan -I biner -O elf32-littlearm -B arm --rename-section .data = .rodata, alokasikan, muat, baca saja, data, isi fpga.bin fpga.o ini membuat semuanya menjadi lengkap. tempat rodata dan tautan dengan benar ke flash.
Ktc
objcopymemiliki sejumlah besar opsi. Mungkin dapat melakukan apapun yang Anda inginkan. Itu hanya membutuhkan banyak menatap halaman manual itu. Terima kasih telah membagikan solusi Anda karena saya yakin itu akan menjadi pertanyaan umum bagi orang yang ingin melakukan apa yang Anda lakukan.
embedded.kyle