Tôi muốn xây dựng một hạt nhân nhúng cho một máy x86 bằng cách sử dụng Visual C++. Tôi có một số tệp mã C và lắp ráp để biên dịch và tôi muốn liên kết tất cả chúng lại với nhau theo cách tương thích với bộ nạp khởi động Multiboot như GRUB.Làm cách nào để tạo hình ảnh hạt nhân bằng Visual Studio?
Trả lời
OSDev có wiki entry on Visual Studio, có thể cung cấp một số cái nhìn sâu sắc, đặc biệt là với các liên kết đến Kaushik Srenevasan của blogentries về vấn đề hạt nhân PE được thiết kế để được nạp bởi Bootloader multiboot-based (như GRUB).
Một vài lớn, rộng đột quỵ điều bạn nên biết:
- Trong header multiboot, bạn cần phải sử dụng kludge août.
- Bạn cần chỉ định đối số/BASE: 0x100000 cho trình liên kết, vì vậy mã nhị phân cuối cùng dựa vào nơi bộ nạp khởi động sẽ đặt nó.
- Điểm nhập hạt nhân của bạn (thường được gọi là '
kmain
') cần có__declspec(noreturn)
trên đó và bạn sẽ cần phải thực hiện__asm { hlt }
thay vì trả lại.
Sao chép và dán không hoạt động ở đây, một trong hai, nhưng chỉ vào lỗi: có vẻ như "... hạt nhân sử dụng% 5F03.html", nhưng phải là "... kernel-using_03.html". –
Tôi không biết tại sao, nhưng tôi sao chép và dán nó từ thanh địa chỉ vào đây, và nó có chữ '_' khi tôi chỉnh sửa - SO dường như thay thế nó vì bất kỳ lý do gì. –
Ok, tôi đã gửi email đến Nhóm SO và họ đã chỉ ra rằng có nhiều cách khác để tạo liên kết, vì vậy tôi đã chuyển nó sang một liên kết hoạt động. –
- 1. làm thế nào để chương trình giao tiếp - hạt nhân vi hạt nhân nguyên khối hạt nhân exo
- 2. Lấy cấu hình từ ảnh hạt nhân Linux
- 3. gcutil không hiển thị hình ảnh hoặc hạt nhân
- 4. Làm cách nào để tạo tệp lối tắt Visual Studio
- 5. Làm cách nào để ngăn Visual Studio tạo giấy phép.licx
- 6. Làm cách nào để xuất biểu đồ DBML từ Visual Studio sang hình ảnh?
- 7. Làm cách nào để định cấu hình hạt nhân Linux trong Buildroot?
- 8. Làm cách nào để tạo tập lệnh .edmx bằng Visual Studio 2010 và EF 4.1?
- 9. Có thể khởi động hạt nhân Linux mà không cần tạo hình ảnh initrd không?
- 10. Làm cách nào để tạo hình ảnh động trong SFML
- 11. Làm cách nào để tạo mô-đun hạt nhân có thể nạp cho Android?
- 12. Làm thế nào để vô hiệu hóa hình ảnh "chấm" trong Visual Studio Editor
- 13. in từ hạt nhân cuda
- 14. Làm cách nào để tạo hoạt ảnh cho một nhân vật 3D?
- 15. Làm cách nào để tạo hình ảnh vừa với hộp hình vuông 200 pixel bằng CSS?
- 16. Làm cách nào để hạ cấp giải pháp từ Visual Studio 2010 sang Visual Studio 2005?
- 17. Visual Studio thêm hình ảnh vào dự án
- 18. Làm cách nào để tạo hình ảnh trống (0x0)?
- 19. Vị trí đặt hạt nhân vào giữa khi sử dụng FFTW để co giãn hình ảnh?
- 20. Làm cách nào để đặt tên 'lưu hình ảnh làm' mặc định cho một hình ảnh được tạo bằng PHP?
- 21. Nhúng hình ảnh trong mã với Visual Studio
- 22. Tải mô-đun hạt nhân trong hạt nhân Android
- 23. Làm thế nào để cấu trúc hạt nhân OpenCL lớn?
- 24. Làm cách nào để tạo pixel/làm mờ hình ảnh bằng ImageMagick?
- 25. Làm cách nào để tạo giải pháp Visual studio từ tạo tệp?
- 26. Làm cách nào để tạo hình ảnh GIF trong .NET?
- 27. Làm cách nào để tạo Lớp trên Hình ảnh?
- 28. Làm cách nào để tạo hình ảnh OpenCV từ hình ảnh PIL?
- 29. Libsvm precomputed hạt nhân
- 30. Làm cách nào để tôi có thể tạo Visual Studio ngay trước khi chương trình dừng?
Bạn có chắc chắn muốn đi xuống đường dẫn MSVC không? Đó là một trình biên dịch tuyệt vời nhưng tôi nghĩ rằng điều này sẽ dễ dàng hơn nhiều với GCC/MingW –
Tôi nghĩ GCC/MinGW cũng sẽ tạo ra các tệp thi hành PE. Tôi sẽ phải thực hiện những thay đổi cần thiết cho ELF cho PE trong cả hai môi trường. VS chỉ là một niềm vui để sử dụng, tôi nghĩ tôi thích nó hơn. –