หลังจากได้รับ Raspberry Pi ของฉันฉันตัดสินใจว่าฉันต้องการเรียนรู้วิธีการเขียนรหัสชุดประกอบ ARM คำถามของฉันคือฉันต้องเริ่มต้นอะไร ฉันคิดว่ามีคอมไพเลอร์ติดตั้งอยู่แล้ว แต่ฉันไม่รู้ว่ามันคืออะไร (gcc อาจ?) ความช่วยเหลือใด ๆ ที่ชื่นชม!
หลังจากได้รับ Raspberry Pi ของฉันฉันตัดสินใจว่าฉันต้องการเรียนรู้วิธีการเขียนรหัสชุดประกอบ ARM คำถามของฉันคือฉันต้องเริ่มต้นอะไร ฉันคิดว่ามีคอมไพเลอร์ติดตั้งอยู่แล้ว แต่ฉันไม่รู้ว่ามันคืออะไร (gcc อาจ?) ความช่วยเหลือใด ๆ ที่ชื่นชม!
คำตอบ:
ขึ้นอยู่กับจำนวนแอสเซมเบลอร์ที่คุณต้องการเขียน หากคุณต้องการเขียนตัวอย่างเล็ก ๆ ที่ฝังอยู่ในรหัส C กว่าgcc
แน่นอนว่าคุณกำลังมองหา ตัวอย่างของวิธีการใช้asm
คำสั่งใน C ดูการอ้างอิงแบบอินไลน์ที่: ARM GCC Inline Assembler Cookbook
หากในอีกทางหนึ่งคุณต้องการเขียนมากกว่าตัวอย่างเล็ก ๆ น้อย ๆ คุณจะใช้งานแอสเซมเบลอร์แบบเต็มได้ดีกว่า นี้จะสามารถเป็นอย่างใดอย่างหนึ่งas
, gas
หรือทั้งสอง (นามแฝง)
และในที่สุดคุณจะต้องเรียนรู้เล็กน้อยเกี่ยวกับชุดคำสั่ง ARM : มีอ้างอิงที่มีประโยชน์ที่เป็นคู่มือ ARM1176JZF-S อ้างอิงทางเทคนิค
NB โปรดจำไว้ว่า RPi รองรับคำสั่ง armv6 เท่านั้น - ดังนั้นอย่าพยายามใช้อะไรจาก armv7
โชคดี!! :)
ฉันเริ่มการผจญภัยด้วยรหัสชุดประกอบ ARM เมื่อไม่นานมานี้เองและนี่คือแหล่งข้อมูลของฉัน:
แม้ว่าฉันจะค่อนข้างสบายใจกับอินเตอร์เฟสบรรทัดคำสั่ง แต่ฉันไม่สามารถต้านทานความสะดวกสบายของ GUI เมื่อไม่นานมานี้ฉันค้นพบว่าฉันสามารถใช้ CodeBlocks IDE เพื่อพัฒนาโปรแกรมภาษาแอสเซมบลี ARM ใน Raspberry Pi ดังนั้นฉันจึงเขียนการสอนและผนวกเข้ากับการสอนการเขียนโปรแกรมการประกอบชุด Raspberry Pi ฉันได้เขียนสำหรับเว็บไซต์หนังสือของแอสเซมบลี Mazidi ARM:
http://www.microdigitaled.com/ARM/ARM_ASM_books.htm
ที่เว็บไซต์คลิกที่ลิงค์ "การเขียนโปรแกรม ARM Assembly โดยใช้ Raspberry Pi GUI"
หวังว่านี่จะช่วยได้
โดยค่าเริ่มต้นจะติดตั้ง GCC หากคุณเป็นคนใหม่สำหรับ Raspberry Pi ฉันขอแนะนำให้คุณดูภาษาการเขียนโปรแกรมที่ง่ายกว่าชุดประกอบ ARM ไม่มี IDEs ใด ๆ สำหรับการประกอบดังนั้นคุณจะต้องใช้โปรแกรมแก้ไขข้อความและประกอบผ่านเทอร์มินัล ฉันแนะนำ Gedit เพื่อความสะดวกในการใช้งาน แม้ว่าจะต้องเน้นเรื่องซินแทกซ์สำหรับแอสเซมบลี แต่ฉันต้องไปที่ github หน้าของ Shinyquagsire23 โดยเฉพาะ มันสวยมาก สำหรับความช่วยเหลือทรัพยากรที่ดีที่สุดที่ฉันพบคือ "ภาษาแอสเซมบลีของ Raspberry Pi: Raspbian Beginners" โดย Bruce Smith คุณสามารถค้นหาได้ใน Amazon เขาอธิบายการชุมนุมด้วยวิธีที่ชัดเจนและเรียบง่ายที่สุดวิธีหนึ่งที่ฉันได้พบ
เรียนรู้ด้วยตัวอย่างที่ทำงานได้
ฉันกำลังทำงานกับ: https://github.com/cirosantilli/arm-assembly-cheat
คุณสมบัติ:
printf
และmemcpy