Цитата(Rst7 @ Jan 5 2012, 19:16)

Ну пока что у Вас даже MAC-уровень не запустился. Берите интеграл по частям (ЦЭ).
Начал все сначала. От обратного. Использую пример web сервера (uIP) от starterkit (жаль, пример запутанный сделан половина на непонятной библиотеке, половина влоб). Как с ним работать, как модифицировать под нужные задачи ни слова ни полслова. На st уже давно новая библиотека. Можно было и демки скорректировать соответствующим образом...Ну да ладно.
Пример работает. MAC DMA инициализируется нормально.
Пытаюсь оттолкнуться от него. Вот инициализация GPIO для Ethernet SK-STM32F217
CODE
RCC->AHB1ENR |= (1<<0) + (1<<1) + (1<<2) + (1<<6); /* Enable GPIOA, GPIOB, GPIOC, GPIOG clock */
/* ETHERNET pins configuration */
/*
| | TYPE | num | GPIO port |
1. TD0 | out | 128 | PG13 |
2. TD1 | out | 129 | PG14 |
3. TEN | out | 70 | PB11 |
4. MC_REFC | out | 100 | PA8 |
5. CRS | in | 43 | PA7 |
6. RD0 | in | 44 | PC4 |
7. RD1 | in | 45 | PC5 |
8. MDC | out | 27 | PC1 |
9. MDIO |in/out| 36 | PA2 |
10.REFC | in | 35 | PA1 |
*/
GPIO_Init(GPIOG,GPIO_Pin_13 + GPIO_AF + GPIO_Speed_100MHz + GPIO_PP + GPIO_AF11); /*1. PG13 -> TD0 */
GPIO_Init(GPIOG,GPIO_Pin_14 + GPIO_AF + GPIO_Speed_100MHz + GPIO_PP + GPIO_AF11); /*2. PG14 -> TD1 */
GPIO_Init(GPIOB,GPIO_Pin_11 + GPIO_AF + GPIO_Speed_50MHz + GPIO_PP + GPIO_AF11); /*3. PB11 -> TEN */
GPIO_Init(GPIOA,GPIO_Pin_8 + GPIO_AF + GPIO_Speed_100MHz + GPIO_AF0 + GPIO_PP); /*4. PA8 -> MCO1 50MHz output */
GPIO_Init(GPIOA,GPIO_Pin_7 + GPIO_AF + GPIO_Speed_100MHz + GPIO_AF11); /*5. PA7 -> CRS */
GPIO_Init(GPIOC,GPIO_Pin_4 + GPIO_AF + GPIO_Speed_100MHz + GPIO_AF11); /*6. PC4 -> RD0 */
GPIO_Init(GPIOC,GPIO_Pin_5 + GPIO_AF + GPIO_Speed_100MHz + GPIO_AF11); /*7. PC5 -> RD1 */
GPIO_Init(GPIOC,GPIO_Pin_1 + GPIO_AF + GPIO_Speed_50MHz + GPIO_PP + GPIO_AF11); /*8. PC1 -> MDC */
GPIO_Init(GPIOA,GPIO_Pin_2 + GPIO_AF + GPIO_Speed_50MHz + GPIO_OD + GPIO_AF11); /*9. PA2 -> MDIO*/
GPIO_Init(GPIOA,GPIO_Pin_1 + GPIO_AF + GPIO_Speed_50MHz + GPIO_AF11); /*10.PA1 -> REFC */
Пытаюсь записать все это в том виде который будет работать в демке STM32F2x7_ETH_LwIP_V1.1.0 где стоит новая библиотека и конечно все к ней привязано
Например как правильно записать
Код
GPIO_Init(GPIOG,GPIO_Pin_13 + GPIO_AF + GPIO_Speed_100MHz + GPIO_PP + GPIO_AF11); /*1. PG13 -> TD0 */
GPIO_Init(GPIOG,GPIO_Pin_14 + GPIO_AF + GPIO_Speed_100MHz + GPIO_PP + GPIO_AF11); /*2. PG14 -> TD1 */
для новой библиотеки?
Код
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_Init(GPIOG, &GPIO_InitStructure);
Так будет правильно?
Непонятно что такое GPIO_AF11
Сообщение отредактировал IgorKossak - Jan 6 2012, 18:27