zheka 1 20 мая, 2010 Опубликовано 20 мая, 2010 · Жалоба Господа, скачал я себе FatFS от Chan. Там библиотека на чистом С с оговоркой, что 6 функций необходимых для низкоуровневой работы с SD картой, нужно написать самому. Там же по ссылкам нашел проект под AT91SAM7, где указанные функции прописаны в библиотеке sd_spi_at91.c. Библиотеку прилагаю. Подключаю ее в проект KEIL (пришлось переименовать в diskio.c) и сразу поперли ошибки: Build target 'Simulator' compiling Blinky.c... diskio.c(158): warning: #260-D: explicit type is missing ("int" assumed) diskio.c(158): error: #65: expected a ";" diskio.c(373): warning: #12-D: parsing restarts here after previous syntax error diskio.c(375): error: #18: expected a ")" diskio.c(375): error: #77-D: this declaration has no storage class or type specifier diskio.c(375): error: #101: "AT91PS_SPI" has already been declared in the current scope diskio.c(375): error: #65: expected a ";" diskio.c(376): error: #169: expected a declaration diskio.c(391): warning: #12-D: parsing restarts here after previous syntax error diskio.c(421): error: #18: expected a ")" diskio.c(421): error: #44: expression must have pointer type diskio.c(426): error: #18: expected a ")" diskio.c(426): error: #44: expression must have pointer type diskio.c(429): error: #18: expected a ")" diskio.c(429): error: #44: expression must have pointer type diskio.c(430): error: #18: expected a ")" diskio.c(430): error: #44: expression must have pointer type diskio.c(432): error: #18: expected a ")" diskio.c(432): error: #44: expression must have pointer type diskio.c(433): error: #18: expected a ")" diskio.c(433): error: #44: expression must have pointer type diskio.c(435): error: #18: expected a ")" diskio.c(435): error: #44: expression must have pointer type diskio.c(436): error: #18: expected a ")" diskio.c(436): error: #44: expression must have pointer type diskio.c(438): error: #18: expected a ")" diskio.c(438): error: #44: expression must have pointer type diskio.c(439): error: #18: expected a ")" diskio.c(439): error: #44: expression must have pointer type diskio.c(445): error: #18: expected a ")" diskio.c(445): error: #44: expression must have pointer type diskio.c(446): error: #18: expected a ")" diskio.c(446): error: #44: expression must have pointer type Target not created Помогите подключить эту библиотеку. А вот собственно проект для KEIL, пока пустой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 21 мая, 2010 Опубликовано 21 мая, 2010 · Жалоба Предложение первое. Прочитать про inline (разве неочевидно, что ругается на него?), заменить на __inline Предложение второе. Разобраться, что там накручено с дефайнами регистров. За минуту я не понял, где в этом diskio.c подключены определения регистров процессора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zheka 1 21 мая, 2010 Опубликовано 21 мая, 2010 · Жалоба Вообще-то там и есть __inline. Ладно, черт с ней, я нашел код попроще, там есть __ramfunc. На него ругается. Честно гуглил и яндексил, не нашел чем заменить это в KEIL. Подскажите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorenja 0 21 мая, 2010 Опубликовано 21 мая, 2010 · Жалоба Вообще-то там и есть __inline. Ладно, черт с ней, я нашел код попроще, там есть __ramfunc. На него ругается. Честно гуглил и яндексил, не нашел чем заменить это в KEIL. Подскажите. google первая ссылка :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 21 мая, 2010 Опубликовано 21 мая, 2010 · Жалоба zheka, покажите, пожалуйста, где в 158-й строке выложенного diskio.c слово "__inline" igorenja, Вы не правы. CARM умер, надо искать в документации на RealView'шный компилятор. Я делал подобное через объявление секции кода в ОЗУ и соответствующую прагму (всё есть в документации). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться