Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XXXXX-S3E
Standalone программа
tenkjm
Добавлено 20.02.2010 15:54
0
Сообщение: 1
tenkjm
0

Пункты: 772
Регистрация: 09.10.2009
Подскажите пожалуйста где найти работающий пример под KEIL для выполнения программки без ОС. Нужен ли для его выполнения Bootstrap и Uboot?
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 20.02.2010 18:50 Сообщение: 2
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
если входит во внутренний флэш - то не нужны.
Спуститься к концу Подняться к началу
Персональная информация
tenkjm
Добавлено 26.02.2010 10:45 Редактировалось 26.02.2010 11:04 Сообщение: 3
tenkjm
0

Пункты: 772
Регистрация: 09.10.2009
Пробовал через u-Boot загружать и запускать проекты, скомпилированные под IAR (Examples getting started) для плат на SAM9260, так и sam 9xe512 для SDRAM.
загружал командой
Код
U-Boot> loady
## Ready for binary (ymodem) download to 0x21000000 at 115200 bps...
CC

Затем
Код
U-Boot> go 0x21000000
## Starting application at 0x21000000 ...

Программа не исполнялась
Для эксперимента пробовал по этому адресу загружать Bootstrup и U-boot, в таком случае программа по этому адресу стартует
..
В руководстве по U-boot описывается подобный пример (запуска standalone приложений) и при компиляции u-Boot там попутно компилируются несколько примеров типа Hello world, но в них хедеры для другой платы.
IAR скачал evaluation версию

Что может быть не так? Подскажите в каком направлении копать.
Спуститься к концу Подняться к началу
Персональная информация
tenkjm
Добавлено 26.02.2010 11:38 Сообщение: 4
tenkjm
0

Пункты: 772
Регистрация: 09.10.2009
В IAR хедере board.h
Код


#ifndef BOARD_H
#define BOARD_H

//------------------------------------------------------------------------------
// Headers
//------------------------------------------------------------------------------

#if defined(at91sam9xe128)
#include "at91sam9xe128/chip.h"
#include "at91sam9xe128/AT91SAM9XE128.h"
#elif defined(at91sam9xe256)
#include "at91sam9xe256/chip.h"
#include "at91sam9xe256/AT91SAM9XE256.h"
#elif defined(at91sam9xe512)
#include "at91sam9xe512/chip.h"
#include "at91sam9xe512/AT91SAM9XE512.h"
#else
#error Board does not support the specified chip.
#endif

//------------------------------------------------------------------------------
// Definitions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \page "SAM9XE-EK - Board Description"
/// This page lists several definition related to the board description.
///
/// !Definitions
/// - BOARD_NAME

/// Name of the board.
#define BOARD_NAME "AT91SAM9XE-EK"
/// Board definition.
#define at91sam9xeek
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \page "SAM9XE-EK - Operating frequencies"
/// This page lists several definition related to the board operating frequency
/// (when using the initialization done by board_lowlevel.c).
///
/// !Definitions
/// - BOARD_MAINOSC
/// - BOARD_MCK

/// Frequency of the board main oscillator.
#define BOARD_MAINOSC 18432000

/// Master clock frequency (when using board_lowlevel.c).
#define BOARD_MCK ((18432000 * 97 / 9) / 2)
//------------------------------------------------------------------------------




Насколько я знаю в платах starterkit частота кварца другая Как следует изменить
# define BOARD_MAINOSC 18432000 ??
Или не в этом дело?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 26.02.2010 19:29 Редактировалось 26.02.2010 19:29 Сообщение: 5
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Попробуйте #define BOARD_MAINOSC 12000000
По другому и не должно работать ...
Спуститься к концу Подняться к началу
Персональная информация
tenkjm
Добавлено 27.02.2010 19:45 Редактировалось 28.02.2010 23:47 Сообщение: 6
tenkjm
0

Пункты: 772
Регистрация: 09.10.2009
Уф разобрался с IAR (как выяснилось не совсем)

Т.к. кварц 12 МГц, то нужно код поправить

в board_lowlevel.c исправить на

Код
/// Main oscillator startup time (in number of slow clock ticks).
#define BOARD_OSCOUNT (AT91C_CKGR_OSCOUNT & (64 << 8))

/// PLLA frequency range.
#define BOARD_CKGR_PLLA (AT91C_CKGR_SRCA | AT91C_CKGR_OUTA_2)
/// PLLA startup time (in number of slow clock ticks).
#define BOARD_PLLACOUNT (63 << 8)
/// PLLA MUL value.
#define BOARD_MULA (AT91C_CKGR_MULA & (49 << 16))
/// PLLA DIV value.
#define BOARD_DIVA (AT91C_CKGR_DIVA & 3)

/// PLLB frequency range
#define BOARD_CKGR_PLLB AT91C_CKGR_OUTB_0
/// PLLB startup time (in number of slow clock ticks).
#define BOARD_PLLBCOUNT BOARD_PLLACOUNT
/// PLLB MUL value.
#define BOARD_MULB (175 << 16)
/// PLLB DIV value.
#define BOARD_DIVB 15

/// USB PLL divisor value to obtain a 48MHz clock.
#define BOARD_USBDIV AT91C_CKGR_USBDIV_2
/// Master clock prescaler value.
#define BOARD_PRESCALER AT91C_PMC_MDIV_2


a в board.h
Код
/// Frequency of the board main oscillator.
#define BOARD_MAINOSC 12000000

/// Master clock frequency (when using board_lowlevel.c).
#define BOARD_MCK ((12000000 * 50 / 3) / 2)


работает для flash и SRAM Теперь осталось SDRAM
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XXXXX-S3E