Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 30.05.2014, 20:55  
JerryI
Временная регистрация
 
Регистрация: 05.05.2013
Сообщений: 75
Сказал спасибо: 20
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JerryI на пути к лучшему
Восклицание SAM4 - Настройка портов и SMC

Добрый день.
Имеется контроллер ATSAM4C08(ARM Cortex M4) в минимальной обвязке. С Blink-ами разобрался, хочу задействовать SMC(Static Memory Controller) контроллер внешней шины (EBI).
Мучаюсь с документацией уже третий день - ничего не работает. Я взял один пин шины данных D0 и посылаю на адрес внешней памяти числа, а на порту ничего нет.
Код:
#include "sam.h"
/**
 * \brief Application entry point.
 *
 * \return Unused (ANSI-C compatibility).
 */
uint8_t* ebi = (uint8_t*)0x03000000; //Адрес внешнего устройства CS0

#define SMC ((Smc *)0x400E0000U) //Баг AtmelStudio. SMC есть в подсказках, но не объявлен. 

int main(void)
{
    /* Initialize the SAM system */
    SystemInit();
	
	PMC-›PMC_WPMR = 0x504D43; //Ключ для PMC контроллера
	
	PMC-›CKGR_MOR = CKGR_MOR_MOSCXTEN; //Внешний кварц
	PMC-›CKGR_PLLAR = CKGR_PLLAR_MULA(254) | CKGR_PLLAR_PLLAEN(1); //PLLA умножаем частоту на 254. (частота берется с кварца)
	PMC-›CKGR_PLLBR = CKGR_PLLBR_MULB(28) | CKGR_PLLBR_DIVB(1) | CKGR_PLLBR_SRCB_PLLA_IN_PLLB; //PLLB умножаем частоту на 28. (частоту берем с PLLa)
	PMC-›PMC_MCKR = PMC_PCK_CSS_PLLB_CLK | PMC_PCK_PRES_CLK_1; //Master clock = PLLB
	
	PMC-›PMC_PCER0 = PMC_PCER0_PID10; //Подаем питание на SMC контроллер
	
	PIOB-›PIO_WPMR = 0x50494F; //Ключ для контроллера I/O
	PIOB-›PIO_OER = PIO_OER_P6; //6 пин - выход. (DATAPIN0 для SMC)
	PIOB-›PIO_ABCDSR[0] &= (~PIO_ABCDSR_P6 & PIOB-›PIO_ABCDSR[0]); //Мультиплексирование пина на "C" функцию...
	PIOB-›PIO_ABCDSR[1] = (PIO_ABCDSR_P6 | PIOB-›PIO_ABCDSR[1]); //...(не знаю как описать. Есть четыре положения пина A, B, C, D. SMC контроллер занимает C.)
	
	SMC-›SMC_WPMR = 0x534D43; //Ключ для SMC
	SMC-›SMC_CS_NUMBER[0].SMC_MODE = SMC_MODE_DBW_8_BIT | SMC_MODE_EXNW_MODE_DISABLED; //Настройки
	SMC-›SMC_CS_NUMBER[0].SMC_CYCLE = SMC_CYCLE_NRD_CYCLE(1) | SMC_CYCLE_NWE_CYCLE(1);
	SMC-›SMC_CS_NUMBER[0].SMC_PULSE = SMC_PULSE_NCS_RD_PULSE(0) | SMC_PULSE_NCS_WR_PULSE(0) | SMC_PULSE_NRD_PULSE(1) | SMC_PULSE_NWE_PULSE(1);
	SMC-›SMC_CS_NUMBER[0].SMC_SETUP = SMC_SETUP_NCS_RD_SETUP(0) | SMC_SETUP_NCS_WR_SETUP(0) | SMC_SETUP_NRD_SETUP(1) | SMC_SETUP_NWE_SETUP(1);
	

	
	
    while (1) 
    {
		  ebi[0] = 255; //Пишем в ячейку 0 - 255. По идее, вся шина данных должна быть в лог.единицах.
    }
}
SMC запустил, порт настроил, шлю адрес на "EBI Device CS0", а результат никакой. Если кто-нибудь работал с подобным, подскажите: в чем дело, куда копать?
Заранее спасибо.
PS: Пишу в Atmel Studio.
Реклама:
JerryI вне форума  
Непрочитано 30.05.2014, 21:25  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

чисто из любопытства глянул - а cmsis для атмела не существует? или я не догоняю
еще вопрос (как всегда) - а где вы разрешаете запись наружу?
Hives вне форума  
Непрочитано 30.05.2014, 22:18  
JerryI
Временная регистрация
 
Регистрация: 05.05.2013
Сообщений: 75
Сказал спасибо: 20
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JerryI на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

Сообщение от Hives Посмотреть сообщение
чисто из любопытства глянул - а cmsis для атмела не существует? или я не догоняю
еще вопрос (как всегда) - а где вы разрешаете запись наружу?
Простите за мои скудные познания, а CMSIS это что? В Atmel объявлена куча define-ов и структур для удобной работы (которые есть в коде), это оно?
Насчет записи, единственное, где ее можно включить (для SMC контроллера):
Код:
SMC-›SMC_CS_NUMBER[0].SMC_MODE = SMC_MODE_WRITE_MODE;
Но она должна быть включена по-дэфолту. Все же пробовал с ней и без нее - та же проблема.

Последний раз редактировалось JerryI; 30.05.2014 в 22:18. Причина: SMC
JerryI вне форума  
Непрочитано 31.05.2014, 09:31  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

Сообщение от JerryI Посмотреть сообщение
а CMSIS это что?
Cortex Microcontroller Software Interface Standard

http://www.arm.com/products/processo...e-standard.php
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 31.05.2014, 10:14  
JerryI
Временная регистрация
 
Регистрация: 05.05.2013
Сообщений: 75
Сказал спасибо: 20
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JerryI на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

Сообщение от dosikus Посмотреть сообщение
CMSIS
Да, эта штука уже прикручена к Atmel Studio, но как работать с SMC контроллером (в примерах) там информации по-прежнему нет.
JerryI вне форума  
Непрочитано 31.05.2014, 10:36  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

JerryI, Естесно , для этого есть либы с примерами от вендора .
CMSIS это в основном ядро и хэдеры с описанием регистров периферии от вендора.
На сайте ATMEL я вижу только SAM4S Software Package .
Оно ли это - ХЗ .
Если стоит Keil, то все просто - в Pack Installer качаешь пак SAM4_DFP .
Там будет все что нужно, и доки и либы...

Вай , наврал . Там нет либ .
Ищи на сайте ATMEL , только сдается мне там все еще сырое и кривое .

В чем смысл юзать кривые ARM'ы от AVR ????
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 31.05.2014 в 10:43.
dosikus вне форума  
Непрочитано 31.05.2014, 11:15  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

ARM'ы от AVR
даже звучит неприлично
Hives вне форума  
Сказали "Спасибо" Hives
dosikus (31.05.2014)
Непрочитано 31.05.2014, 11:29  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

Сообщение от JerryI Посмотреть сообщение
но как работать с SMC контроллером (в примерах) там информации по-прежнему нет.
Зато есть в том же даташите,
параграф 27. Static Memory Controller (SMC)
Со схемами и таймингами ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 31.05.2014, 11:53  
JerryI
Временная регистрация
 
Регистрация: 05.05.2013
Сообщений: 75
Сказал спасибо: 20
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JerryI на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

Сообщение от dosikus Посмотреть сообщение
Зато есть в том же даташите,
параграф 27. Static Memory Controller (SMC)
Со схемами и таймингами ...
Это я уже смотрел. Там много условностей: мол, эта штука работает, если другая штука включена, а другая штука будет работать только когда третья штука переведена в режим первой штуки, но вообще ничего не будет работать если четвертая штука работает, а вторая не работает...
Хотелось бы полноценный пример использования или просто кусок кода. Причем таковые примеры имеются, но только для самого ядра, а не периферии.
Что ж, буду разбираться.
JerryI вне форума  
Непрочитано 31.05.2014, 12:27  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: SAM4 - Настройка портов и SMC.

банальный совет - в гугле поиском по слову "SMC_MODE_WRITE_MODE" (и подобным) вываливается ооочень много исходников с "кусками кода", бери и копипасть.
Hives вне форума  
Сказали "Спасибо" Hives
JerryI (31.05.2014)
 

Закладки

Метки
arm, fsmc, pio, smc
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уходит настройка ТВ Samsung CK 5051M damirus Видеотехника 7 31.08.2013 20:17
Один компьютер - много СОМ портов dimonbest Микроконтроллеры, АЦП, память и т.д 11 24.03.2008 12:54


Часовой пояс GMT +4, время: 07:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot