реклама на сайте
подробности

 
 
> Microblaze InstancePtr
-=Vitaly=-
сообщение May 17 2007, 03:59
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Здравствуйте, где для Микроблейзового софта взять

*InstancePtr для функции XSpi_SetSlaveSelect??

Спасибо.

Сообщение отредактировал -=Vitaly=- - May 17 2007, 04:13
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CodeWarrior1241
сообщение May 23 2007, 05:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



2 -=Vitaly=-:
Я попробовал зделать EDK8.2 проект используя код который я привел выше. Все работало, и проблем с xspi_i.h небыло... Архив проекта не умещается здесь, поставил на http://slil.ru/24404862. Я вывел все на ISE, но этим не обязательно пользоватся, если Вы введете .ucf файл под Вашу плату в XPS все сработает и так.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение May 23 2007, 09:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Цитата(CodeWarrior1241 @ May 23 2007, 08:56) *
2 -=Vitaly=-:
Я попробовал зделать EDK8.2 проект используя код который я привел выше. Все работало, и проблем с xspi_i.h небыло... Архив проекта не умещается здесь, поставил на http://slil.ru/24404862. Я вывел все на ISE, но этим не обязательно пользоватся, если Вы введете .ucf файл под Вашу плату в XPS все сработает и так.

Спасибо, обязательно посмотрим. Я щас работаю под 9.1
Рановато наверное начал, говорили же люди до 3го сервиспака ни-ни!! 01.gif
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение May 23 2007, 13:20
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Работает так как сказал CodeWarrior, но я не инклудил xspi_i.h и у меня он не молотит все время пачки, а затыкается через некоторе время.
Так что имеем теперь 2 метода работы с SPI - мой и правильный beer.gif

Сообщение отредактировал -=Vitaly=- - May 23 2007, 14:07
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение May 23 2007, 14:10
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(-=Vitaly=- @ May 23 2007, 09:20) *
Работает так как сказал CodeWarrior, но я не инклудил xspi_i.h и у меня он не молотит все время пачки, а затыкается через некоторе время.
Так что имеем теперь 2 метода работы с SPI мой и правильный beer.gif

Нащет этoй header, на ней написано "for internal use only", поэтому наверно explicitly присоиденять её не надо... Вроде все что надо присоиденять находится в /microblaze_0/include.
Цитата
Рановато наверное начал, говорили же люди до 3го сервиспака ни-ни!! 01.gif

lol, мы сами еще на 9.1 flow не перешли, наш админ как раз по этим сооброжениям и действует.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
-=Vitaly=-
сообщение May 24 2007, 09:52
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



Подскажите есть ли стандартная функция в EDK типа XIic_SelfTest, но которая выдавала бы на ножки данные. А то у меня осциллограф молчит, XIic_SelfTest выдает,что все ок.

Выводы IIC вывел на ножки плиса с внутренним пуллапом.

Код
void IIC_init(XIic MY_Iic)
{
Xuint32 Iic_status;
XIic_Initialize  (&MY_Iic, XPAR_OPB_IIC_0_DEVICE_ID);
XIic_SetOptions (&MY_Iic,XIIC_CR_ENABLE_DEVICE_MASK);
XIic_Start(&MY_Iic);
Iic_status= XIic_SelfTest(&MY_Iic);
    if(Iic_status== XST_SUCCESS){
        xil_printf("IIC selftest succesful \r\n");
      }
      else{      
       xil_printf("IIC some errors detected \r\n");
        }

}

void main(void)
{      
       while(1)
          {
                  XIic_MasterSend  (&MY_Iic,0x55,1);  
          }
            
}


И еще вопросик к CodeWarrior
почему в функцию
Код

#define SLAVE_STARTING_ADDRESS        0x00    // set the starting slave address    
XSpi_Initialize(&MY_Spi, SLAVE_STARTING_ADDRESS);

вы передаете адрес, когда по документации там должен идти DeviceId. Конечно в нашем случае они оба равны 0, но хотелось бы прояснить ситуацию.

И еще мне не совсем понятно почему маски в xspi_l.h и xspi.h указывающие на один и тот же бит (например в регистре статуса) имеют разные значения в 2х хедерах. С I2C то же самое. В чем секрет?

Сообщение отредактировал -=Vitaly=- - May 24 2007, 09:57
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение May 25 2007, 12:07
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(-=Vitaly=- @ May 24 2007, 05:52) *
Подскажите есть ли стандартная функция в EDK типа XIic_SelfTest, но которая выдавала бы на ножки данные. А то у меня осциллограф молчит, XIic_SelfTest выдает,что все ок.

Выводы IIC вывел на ножки плиса с внутренним пуллапом.

У меня не задействован I2C self-test. Я заметил пару, в моем понимании, ошибок:
1. В XIic_SetOptions (&MY_Iic,XIIC_CR_ENABLE_DEVICE_MASK); строке, функция из xiic.h, но definition XIIC_CR_ENABLE_DEVICE_MASK из xiic_l.h. Они не совместимы, options от одной не будут работать как argument для другой.
2. Вы не устанавливаете адрес slave к которому Вы высылаете 0х55. Как же I2C будет без этого?
Я выставляю адрес slave-a каждый раз когда что либо пересылаю, естессно. Посмотрите комменты к функции XIic_SetAddress of the xiic.c file. Там написано почему имея XI2C_ADDRESS_TO_SEND = 0х01, надо иметь AddressType тоже. Это сваязано с установлением причины изминения адреса, т.е. если XIic_SetAddress вызывается опять, AddressType будет обозночать или то что Microblaze стал теперь slave, или что он продолжает быть master. Еще в xiic.h это поясняется:
Код
/* The following address types are used when setting and getting the addresses
* of the driver. These are mutually exclusive such that only one or the other
* may be specified.
*/
/** bus address of slave device */
#define XII_ADDR_TO_SEND_TYPE       1
/** this device's bus address when slave */
#define XII_ADDR_TO_RESPOND_TYPE    2

Собственно, вот сам код, попробуйте...
Код
#include "xparameters.h"
#include "xiic.h"
#include "xiic_l.h"
#include "xbasic_types.h"
#include "xstatus.h"      

#define XI2C_ADDRESS_TO_SEND        0x01

void IIC_init(XIic MY_Iic)
{
Xuint32 Iic_status;
XIic_Initialize  (&MY_Iic, XPAR_OPB_IIC_0_DEVICE_ID);
//XIic_SetOptions (&MY_Iic,XIIC_CR_ENABLE_DEVICE_MASK);
XIic_Start(&MY_Iic);
/*
Iic_status= XIic_SelfTest(&MY_Iic);
    if(Iic_status== XST_SUCCESS){
        xil_printf("IIC selftest succesful \r\n");
      }
      else{      
       xil_printf("IIC some errors detected \r\n");
        }
*/
}

void main(void)
{      
       while(1)
          {
            XIic_SetAddress(&MY_Iic, XII_ADDR_TO_SEND_TYPE, XI2C_ADDRESS_TO_SEND);        
            XIic_MasterSend (&MY_Iic,0x55,1);  
          }
            
}


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=Vitaly=-   Microblaze InstancePtr   May 17 2007, 03:59
- - -=Vitaly=-   Здравствуйте, где для Микроблейзового софта взять ...   May 17 2007, 11:18
|- - CodeWarrior1241   Цитата(-=Vitaly=- @ May 17 2007, 07...   May 17 2007, 12:22
|- - -=Vitaly=-   Спасибо. Я хочу банально вручную выставлять SS си...   May 17 2007, 12:41
- - CodeWarrior1241   Вы пользуетесь low-level function XSpi_mSetControl...   May 17 2007, 16:13
|- - -=Vitaly=-   Цитата(CodeWarrior1241 @ May 17 2007, 19...   May 18 2007, 05:43
- - CodeWarrior1241   Так зделайте его глобальным и все! Веди это же...   May 18 2007, 09:00
|- - -=Vitaly=-   Цитата(CodeWarrior1241 @ May 18 2007, 12...   May 18 2007, 09:34
|- - CodeWarrior1241   Я возможно перестал понимать суть вопроса... point...   May 18 2007, 11:38
||- - -=Vitaly=-   Хе, хе бой продолжается. Перестало компилиться нах...   May 21 2007, 07:54
|- - XVR   Цитата(-=Vitaly=- @ May 18 2007, 13...   May 21 2007, 09:22
|- - -=Vitaly=-   Цитата(XVR @ May 21 2007, 12:22) С этого ...   May 21 2007, 12:57
||- - XVR   Цитата(-=Vitaly=- @ May 21 2007, 16...   May 22 2007, 07:30
||- - -=Vitaly=-   Спасибо, но у меня при включении xspi_i.h отказыва...   May 22 2007, 11:21
|||- - -=Vitaly=-   Пока сделал так, проверил работает, правда приходи...   May 22 2007, 14:32
||- - CodeWarrior1241   Цитата(XVR @ May 22 2007, 03:30) Что каса...   May 22 2007, 12:34
|- - CodeWarrior1241   ЦитатаУ Вас направильно определен этот самый Insta...   May 21 2007, 12:59
|- - -=Vitaly=-   Ау   Jun 7 2007, 11:33
|- - CodeWarrior1241   Цитата(-=Vitaly=- @ Jun 7 2007, 07...   Jun 7 2007, 14:55
- - CodeWarrior1241   Цитатапочему в функцию Код#define SLAVE_STARTING...   May 24 2007, 12:40
- - -=Vitaly=-   Цитата(CodeWarrior1241 @ May 24 2007, 15...   May 24 2007, 13:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 21:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01455 секунд с 7
ELECTRONIX ©2004-2016