สอบถาม FatFs

Started by tha, May 26, 2014, 10:35:42 AM

Previous topic - Next topic

tha

กำลังศึกษาเรื่อง FatFs เพื่อไปใช้กับ SD Card ต่อกับ stm32 อาจจะเอาไปทำ mp3 ไว้ฟังเพลงฟังธรรมะเล่น
http://elm-chan.org/fsw/ff/00index_e.html
mp3 อาจจะใช้บอร์ดนี้
http://www.ett.co.th/prod2010/mini/ET-mini-mp3.html

ใน http://nemuisan.blog.bai.ne.jp/ มีตัวอย่างการใช้ stm32 ให้เยอะเลย
http://nemuisan.blog.bai.ne.jp/?cid=7420
http://nemuisan.blog.bai.ne.jp/?eid=192848#STM32F401xx
https://github.com/nemuisan/STM32Primer2_GPS_Tracker
แต่ตัวอย่างเขาใช้ devkitPRO ARM + GNU Tools for ARM Embedded Processors + And MUST need Coreutils for windows to build this projects
่ทานใดเคยใช้บ้าง (ยังไม่แน่ใจว่าจะใช้เป็นเพราะมี makefile ด้วย เลยไม่กล้าลง)
FatFs ด้วย ท่านใดเชี่ยวชาญบ้าง?

iAmBeer

ออกตัวไว้ก่อนว่าไม่เชียวชาญซักกะอย่าง
แต่เท่าๆ ที่ดูผมว่าไป build project บน Linux น่าจะง่ายกว่าเยอะเลยนะครับ

tha

เหอๆ Linux บ้ายบ่าย เกิดไม่ทัน ลืมไปว่าเคยทำเกี่ยวกับ sd card ไว้(เอาตัวอย่างเขามา) เลยมาย้ายมาทำบน CoIDE ใช้บอร์ด ET_STM23F103RB LCD16x4, J-Link debug เป็นตัวอย่างการ copy ไฟล์ test.txt ไปเขียนใส่ไฟล์ wanbao.txt สามารถทำงานได้ เดี๋ยวจะศึกษาฟังชั่นอื่นๆต่อไป  :D
http://www.mediafire.com/download/lzb2pxpu3tobewh/SD_Card.rar


tha

ท่านใดเคยดาวน์โหลดโปรแกรม ChaN's FAT-Module with STM32 SPI มาจากเว๊ป
http://siwawi.bauing.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html#chanfat_stm32
ผมใช้ keil เปิด แต่ตัวโปรแกรมเขาจะใช้ GCC (keil+gcc) ต้องเลือกตามรูป



แต่ผมลองคอมไพล์แล้วจะขึ้น error ตามรูป ไม่ทราบเป็นเพราะเหตไร



กำลังดูว่าโปรแกรมเขาเอาไว้ใช้ทำอะไร เผื่อเอาไปใช้ประโยชน์ได้

tha

แก้ error หายแล้วครับ โดยแก้ที่ไฟล์ core_cm3.c
http://www.cesareriva.com/fix-registers-may-not-be-the-same-error/

core_cm3.s:826: Error: registers may not be the same — `strexb r3,r2,[r3]'   
แก้ที่ core_cm3.c

__ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
to:

__ASM volatile ("strexb %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );

แต่ก็มี error อย่างนี้อีก  arm-none-eabi-gcc: error: unrecognized command line option '--gc-sections'

tha

แก้ได้แล้วครับ โดยกด flash -> configure flash tools -> เลือกหน้า Linker กด Defaults ตัวเลือก  --gc-sections จะหายไปจาก Linker control string จากนั้นก็จะ Rebuild (compile) ได้ครับ




พอดีบอร์ดผมเป็น ET-STM32F103RB ซึ่งตรงกันกับบอร์ด MCBSTM32 board from Keil จึงได้เอาไฟล์ที่เขามีให้ดาวน์โหลด ไปใส่แทนไฟล์เดิมแล้วเปลี่ยนเบอร์ mcu ใน configure flash tools เป็น stm32f103rb ในแถบ CC -> Preprocessor symbols -> define เปลี่ยนบอร์ดใหม่เป็น USE_KEIL_MCBSTM32 เท่านี้ก็ compile ทดลองกับบอร์ดของตัวเองได้แล้วครับ



ส่วนรายละเอียดคงต้องร่ายกันอีกยาวว่ามีอะไรบ้าง rtc บอร์ดผมก็ชักจะรวนซะแล้ว ไม่รู้จะเวิร์ครึป่าว?  >:(

tha

Quoteกำลังศึกษาเรื่อง FatFs เพื่อไปใช้กับ SD Card ต่อกับ stm32 อาจจะเอาไปทำ mp3 ไว้ฟังเพลงฟังธรรมะเล่น
http://elm-chan.org/fsw/ff/00index_e.html
mp3 อาจจะใช้บอร์ดนี้
http://www.ett.co.th/prod2010/mini/ET-mini-mp3.html

ใน http://nemuisan.blog.bai.ne.jp/ มีตัวอย่างการใช้ stm32 ให้เยอะเลย
http://nemuisan.blog.bai.ne.jp/?cid=7420
http://nemuisan.blog.bai.ne.jp/?eid=192848#STM32F401xx
https://github.com/nemuisan/STM32Primer2_GPS_Tracker
แต่ตัวอย่างเขาใช้ devkitPRO ARM + GNU Tools for ARM Embedded Processors + And MUST need Coreutils for windows to build this projects
่ทานใดเคยใช้บ้าง (ยังไม่แน่ใจว่าจะใช้เป็นเพราะมี makefile ด้วย เลยไม่กล้าลง)

ลงจนได้ devkitPRO เอามาเปิดไฟล์ตัวอย่าง แก้ makefile อยู่สองจุด(ตามรูป) คอมไพล์ไม่ผ่าน error ตามรูป ท่านใดพอทราบบ้างเป็นเพราะเหตใด?




tha

http://nemuisan.blog.bai.ne.jp/?eid=188089#comments

coreutils + GNUMake ก็ลงแล้ว dependencies zip ก็ลง ไม่รู้ทำผิดตรงไหน ถึง arm-none-eabi-objdump ถึงไม่ทำงาน แต่ก็ได้ main.elf แล้ว
makefile นี่ไม่รู้เรื่องจริงๆ มั่วเอา (แต่ก็ได้ตัวอย่างไว้แกะเล่น เผื่อตัดเอาบางส่วนไปใช้กับโปรเจคอื่น)  ;D