سلام، من از این آموزش در سایت سیسوگ برای کار با f1c100s استفاده کردم
همچنین کامپایلر مربوطه رو نصب کردم در ویندوز ولی هنوز نتونستم برنامه تست ال ای دی رو کامپایل کنم و فایل خروجی ازش بگیرم. و در زمان تست با اس دی کارت توسط ایمیج ارائه شده در سایت فقط یک پیغام کوتاه میاد و دیگه کاری انجام نمیده و نمیشه بهش دستور هم داد
U-Boot SPL 2018.01-05679-g013ca45fd-dirty (Aug 02 2019 - 09:57:28)
DRAM: 32 MiB
Trying to boot from MMC1
این پیغام بازگشتی است
سلام
دقیق تر توضیح بدید که چه کامپایلری نصب کردید و چه اروری دارید و اینکه از چه آموزشی استفاده کردید
چون آموزش داخل این لینک مخصوص لینوکس هست
ایمیجی هم که در مطلب قرار داده شده فقط دارای بوتلودر هست و نیاز هست برنامه خودتون رو روش بریزید تا اجرا بشه و خروجی که گرفتید درست هست
در آموزشی که در سایت سیسوگ بود گفته شده بود برای کامپایل در ویندوز درون کتابخانه ها توضیحات راجع به کار با eclipse و کامپایل گذاشته شده که من گشتم و چیزی پیدا نکردم
کامپایلر هم arm-none-eabi هستش البته به صورت دستی سعی کردم کامپایل کنم و هنوز از ادیتور eclipse استفاده نکردم
توی آپدیت جدید کتابخانه پشتیبانی از eclipse رو حذف کرده و Visual Studio Code رو اضافه کرده
اول از همه که پیشنهاد میکنم با لینوکس پیش برید که ما هم نحوه راه اندازیش رو کامل توضیح دادیم.
در غیر این صورت دقیق تر بفرمایید که کامپایلر رو چجوری نصب کردید و چجوری ازش استفاده میکنید و چه اروری دارید
کامپایلر رو بعد از دانلود و نصب به متغیر های enviroment آدرس دهی کردم و بعد داخل پوشه برنامه hello led شدم و cmd را آنجا باز کردم و بعد با اجرای دستور none-eabi-gcc main.c در خروجی با چنین اطلاعاتی مواجه شدم که در نهایتش یک خطا دارد.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
…\hello_led>arm
-none-eabi-gcc main.c
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: c:/program fi
les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/lib/gcc/arm-n
one-eabi/12.2.1\libc.a(libc_a-exit.o): in function exit': exit.c:(.text.exit+0x28): undefined reference to
_exit’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: C:\Users\SEYE
DS~1\AppData\Local\Temp\ccB8c3cX.o: in function main': main.c:(.text+0x38): undefined reference to
system_init’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x60): undefined reference to gpio_pin_init' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0x7c): undefined reference to
gpio_pin_init’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x90): undefined reference to pwm_init' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0x9c): undefined reference to
pwm_set_period’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0xa8): undefined reference to pwm_set_pulse_len' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0xb0): undefined reference to
pwm_enable’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x120): undefined reference to sinf' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0x1a4): undefined reference to
gpio_pin_set’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x1b8): undefined reference to gpio_pin_clear' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\SEYE DS~1\AppData\Local\Temp\ccB8c3cX.o: in function
timer_init’:
main.c:(.text+0x200): undefined reference to tim_init' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0x20c): undefined reference to
tim_set_period’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x214): undefined reference to tim_int_enable' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0x220): undefined reference to
intc_set_irq_handler’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x228): undefined reference to intc_enable_irq' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: main.c:(.text +0x230): undefined reference to
tim_start’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: C:\Users\SEYE
DS~1\AppData\Local\Temp\ccB8c3cX.o: in function timer_irq_handler': main.c:(.text+0x308): undefined reference to
pwm_set_pulse_len’
c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/…/
lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: main.c:(.text
+0x310): undefined reference to tim_clear_irq' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-closer.o): in function
_close_r’:
closer.c:(.text._close_r+0x18): undefined reference to _close' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-lseekr.o): in function
_lseek_r’:
lseekr.c:(.text._lseek_r+0x24): undefined reference to _lseek' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-readr.o): in function
_read_r’:
readr.c:(.text._read_r+0x24): undefined reference to _read' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-writer.o): in function
_write_r’:
writer.c:(.text._write_r+0x24): undefined reference to _write' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-sbrkr.o): in function
_sbrk_r’:
sbrkr.c:(.text._sbrk_r+0x18): undefined reference to _sbrk' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-fstatr.o): in function
_fstat_r’:
fstatr.c:(.text._fstat_r+0x1c): undefined reference to _fstat' c:/program files (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../ lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program fi les (x86)/arm gnu toolchain arm-none-eabi/12.2 mpacbti-rel1/bin/../lib/gcc/arm-n one-eabi/12.2.1\libc.a(libc_a-isattyr.o): in function
_isatty_r’:
isattyr.c:(.text._isatty_r+0x18): undefined reference to `_isatty’
collect2.exe: error: ld returned 1 exit status
شما دارید سعی میکنید فایل main.c رو مستقیما کامپایل کنید
مشخصه که به ارور میخورید
باید تموم کتابخانه ها و لایبرری ها رو هم آدرسشون رو به gcc بدید
در حقیقت باید از طریق دستور make برنامه رو کامپایل کنید
همونطور که در سایت سیسوگ هم آموزش داده شده
من تمام لایبرری ها رو کنار فایل main کپی کردم که به مشکل نخوره
ولی دستور make برای چه نرم افزاریه؟
دستور make برای چه نرم افزاری است؟
Cmake ??
برای اطلاعات بیشتر در مورد make میتونید از این آموزش در سایت سیسوگ استفاده کنید:
از نرمافزار تا سختافزار – قسمت پنجم – معجزه ای به نام Make file
پیشنهاد میکنم قسمت های قبلش رو هم به صورت کامل بررسی کنید