Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 14.02.2018, 14:59   #1
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 510
Вес репутации: 349/41
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Всем привет.

вор решил переписать программу на PIC32MZ2048ECG, и завис на CRC.
есть рабочая программа, работает на дсПИк33еп, расчетCRC идет железом. рабочая программа:
Код:
/******************************************************************************
 * Function:        void CRC_Init_X25( void )
 *
 * PreCondition:    None   
 *
 * Input:           None
 *                  
 * Output:          None
 *
 * Side Effects:    None
 *
 * Overview:        This function configures CRC module
 *****************************************************************************/
void CRC_Init_X25( void )
{
    
    PMD3bits.CRCMD = 0; //Modul einschalten

    CRCCON1bits.CRCEN = 0;
    CRCXORL = 0x0000;
         Nop();
         Nop();

    CRCWDATL = 0x0000;
    CRCWDATH = 0x0000;     //  NOTE:Non-direct Initial value fed to CRCWDAT
    
    CRCXORL = 0x1021;     // Reflected polynomial for 0x8408
    CRCXORH = 0x0000;
    CRCCON1bits.CRCISEL = 0;
    CRCCON2bits.PLEN = POLYLEN; // Length of polynomial-1"
    CRCCON2bits.DWIDTH = 7;
    CRCCON1bits.LENDIAN = 0x1;
    CRCCON1bits.CRCEN = 1;
}


/******************************************************************************
 * Function:        unsigned int CRC_ChecksumByte_X25( unsigned char *data, unsigned char Number_of_bytes)
 * 
 * PreCondition:    None
 *
 *
 * Side Effects:    None
 *
 * Overview:        Calculates the checksum and returns the value
 *****************************************************************************/
unsigned int CRC_ChecksumByte_X25(unsigned char *data, unsigned char offset, unsigned char Number_of_bytes)
{
    unsigned char  volatile    *dest = ( unsigned char * ) &CRCDATL;
    unsigned int crc = 0, i_cnt;   

    CRCWDATL = 0x84CF; // Non-direct CRC initial value for 0xFFFF
                    
    IFS4bits.CRCIF=0;                //CRC status Flag is Cleared
    
    CRCCON1bits.CRCGO = 1;
    
    for (i_cnt = 0; i_cnt < offset; i_cnt++)
    { data++; }
    
    do
    {
       while(1 != CRCCON1bits.CRCMPT);
        
       while( (0 == CRCCON1bits.CRCFUL) && (0 < Number_of_bytes) )
        {         
            *dest = *data;
            data++;
            Number_of_bytes--;
        }
    } while( 0 < Number_of_bytes );
    
  while(!IFS4bits.CRCIF)
        Nop();
     
  while( CRCCON1bits.CRCFUL == 1 );
  *((unsigned char *)&CRCDATL) = (unsigned char)0; // Load 2-bytes to shift out final value
  *((unsigned char *)&CRCDATL) = (unsigned char)0;
  
  while(CRCCON1bits.CRCMPT!=1);  
  CRCCON1bits.CRCGO=0;

  crc = CRCWDATL;

  // efficient bit reversal for 16 bit int
  crc = (((crc & 0xAAAA)>>1) | ((crc & 0x5555)<<1));
  crc = (((crc & 0xCCCC)>>2) | ((crc & 0x3333)<<2));
  crc = (((crc & 0xF0F0)>>4) | ((crc & 0x0F0F)<<4));
  crc = ((crc>>8) | (crc<<8));
 
  return (crc^0xFFFF);
}
вот так запускаю:
Код:
unsigned int crcResult = 0; 

unsigned char _Paket_buffer_TX[202] =
{ 
0,0,0, // in Flag 3 Byte
0,0,     // Unbekannte 2 Byte, Adresse?
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  // Adresse 0, und Daten, (48 Byte)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  // Adresse 1, und Daten, (48 Byte)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  // Adresse 2, und Daten, (48 Byte)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  // Adresse 3, und Daten, (48 Byte)
0,0,      // CRC 2 Byte
0,0,0 // Out Flag 3 Byte
};


const unsigned char _22_783_Paket_TX_sv1_sv20[202] = 
{
126,126,126, // in Flag 3 Byte
255,128,     // Unbekannte 2 Byte, Adresse?
0, 2,0,0,3,0,1,2, 0,1, 0,1, 0,33, 0,0, 0,100, 0,0, 0,0, 7,108, 8,0, 8,0, 1,0, 2,0, 1,244, 0,0, 0,100, 0,30, 0,0, 0,20, 0,100, 0,100,  // 1.Byte = Adresse 0 (servo), 2-8 Byte = Unbekannt, 9-10 Byte (High und Low) SV1 ... 47-48 Byte SV20, insgesammt = 48 Byte
1, 2,0,0,0,0,0,0, 0,1, 0,1, 0,33, 0,0, 0,100, 0,0, 0,0, 7,108, 8,0, 8,0, 1,0, 2,0, 1,244, 0,0, 0,100, 0,25, 0,0, 0,20, 0,100, 0,100,  // 1.Byte = Adresse 1 (servo), 2-8 Byte = Unbekannt, 9-10 Byte (High und Low) SV1 ... 47-48 Byte SV20, insgesammt = 48 Byte
//MDS-A-SVJ
//2, 2,0,0,0,0,0,0, 0,2, 0,3, 0,33, 0,0, 0,150, 0,0, 0,0, 7,108, 8,0, 8,0, 1,0, 2,0, 1,244, 1,244, 0,0, 0,0, 0,0, 0,10, 0,25, 0,25,  // 1.Byte = Adresse 2 (servo), 2-8 Byte = Unbekannt, 9-10 Byte (High und Low) SV1 ... 47-48 Byte SV20, insgesammt = 48 Byte
2, 2,0,0,0,0,0,0, 0,1, 0,1, 0,33, 0,0, 0,100, 0,0, 0,0, 7,108, 8,0, 8,0, 1,0, 2,0, 1,244, 0,0, 0,100, 0,30, 0,0, 0,10, 0,100, 0,100,  // 1.Byte = Adresse 2 (servo), 2-8 Byte = Unbekannt, 9-10 Byte (High und Low) SV1 ... 47-48 Byte SV20, insgesammt = 48 Byte
3, 66,0,0,0,0,0,0, 0,150, 0,100, 0,15, 0,16, 1,44, 0,50, 5,130, 0,0, 0,15, 0,10, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 31,64, 0,20, 0,30, 8,152,  // 1.Byte = Adresse 3 (Spindel), 2-8 Byte = Unbekannt, 9-10 Byte (High und Low) SV1 ... 47-48 Byte SV20, insgesammt = 48 Byte
18,86,  // CRC 2 Byte
126,126,126  // Out Flag 3 Byte
};


array_rom_2_ram(_22_783_Paket_TX_sv1_sv20, _202_byte_laenge, _Paket_buffer_TX);
crcResult =  CRC_ChecksumByte_X25( _Paket_buffer_TX, offset_byte, 194);
Проблема в том, что я не могу запустит PIC32MZ2048ECG. Старые компиляторы где есть PLIB, процессор не поддерживает, примеров на CRC я видел немало. А вот у новых компиляторов нет PLIB, есть Harmony. Эту проклятую "Гармонию" не могу запустить, пробовал уже не раз пере инсталлировать, не помогает:
пишет при загрузки:
"MPLAB Harmony Configurator failed to initialize."


Пытался сделать на PIC32MZ программно, хоть и DMACRC есть, даже программно не получается, кручу верчу, но все равно не правильно расвитивает контрольную сумму:
Код:
/******************************************************************************
 * Function:        unsigned int CRC_ChecksumByte_X25( unsigned char *data, unsigned char Number_of_bytes)
 * 
 * PreCondition:    None
 *
 *
 * Side Effects:    None
 *
 * Overview:        Calculates the checksum and returns the value
 *****************************************************************************/
unsigned int CRC_ChecksumByte_X25(unsigned char *data, unsigned char offset, unsigned char Number_of_bytes)
{
    volatile unsigned int crc = 0, i_cnt, poly = 0x1021,  crc_tmp, refIn = 0, refOut = 0;  
    unsigned char crc_wert;

    crc_tmp = 0xFFFF; // Non-direct CRC initial value 0x84CF for 0xFFFF
                    
    
    for (i_cnt = 0; i_cnt < offset; i_cnt++)
    { data++; }
    
    
    do 
    {
       
//        crc_tmp ^= (unsigned char)*data++ << 8;
        
//        crc_tmp ^= *data++;
       
       crc_wert = (unsigned char)*data++;
       if (refIn==1) {crc_wert = reflect(crc_wert, 8);} 
       crc_tmp ^= crc_wert;

       for (i_cnt = 0; i_cnt < 8; i_cnt++)
        { crc_tmp = (unsigned int) crc_tmp & 0x8000 ? (crc_tmp << 1) ^ poly : crc_tmp << 1; }
        
//        for (i_cnt = 0; i_cnt < 8; i_cnt++)
//        {
//          if (crc_tmp & 1) 
//            crc_tmp = (crc_tmp >> 1) ^ poly;
//          else 
//            crc_tmp >>= 1;
//        }
        
        
//       for (i_cnt = 0; i_cnt < 8; i_cnt++)
//        { 
//          if ((crc_tmp & 0x8000) != 0) /* test for MSB = bit 15 */
//            {  crc_tmp = (unsigned int) ((crc_tmp << 1) ^ poly); }
//          else
//            { crc_tmp << 1; }
//        }

//       for (i_cnt = 0; i_cnt < 8; i_cnt++)
//        {  crc_tmp = (unsigned int) crc_tmp & 0x0001 ? (crc_tmp >> 1) ^ poly : crc_tmp >> 1; }

    } while(--Number_of_bytes);
    

  crc = crc_tmp;
  
  if (refOut==1) {crc=reflect(crc, 16);}

//  // efficient bit reversal for 16 bit int
//  crc = (((crc & 0xAAAA)>>1) | ((crc & 0x5555)<<1));
//  crc = (((crc & 0xCCCC)>>2) | ((crc & 0x3333)<<2));
//  crc = (((crc & 0xF0F0)>>4) | ((crc & 0x0F0F)<<4));
//  crc = ((crc>>8) | (crc<<8));
 
  return (crc^0xFFFF);




unsigned int reflect (unsigned int crc, int bitnum) {

    // reflects the lower 'bitnum' bits of 'crc'

    unsigned int i, j=1, crcout=0;

    for (i=(unsigned int)1<<(bitnum-1); i; i>>=1) {
        if (crc & i) crcout|=j;
        j<<= 1;
    }
    return (crcout);
}
}
Gera82 вне форума   Ответить с цитированием
Старый 14.02.2018, 16:25   #2
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 510
Вес репутации: 349/41
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Программно я все таки сделал, пришлось с помощью таблицы делать:
Код:
static unsigned short crc_table [256] = {

0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5,
0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b,
0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210,
0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c,
0xf3ff, 0xe3de, 0x2462, 0x3443, 0x0420, 0x1401,
0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, 0xb54b,
0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6,
0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, 0x8738,
0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5,
0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969,
0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96,
0x1a71, 0x0a50, 0x3a33, 0x2a12, 0xdbfd, 0xcbdc,
0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03,
0x0c60, 0x1c41, 0xedae, 0xfd8f, 0xcdec, 0xddcd,
0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, 0x6eb6,
0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a,
0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, 0xa1eb,
0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1,
0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c,
0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2,
0x4235, 0x5214, 0x6277, 0x7256, 0xb5ea, 0xa5cb,
0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447,
0x5424, 0x4405, 0xa7db, 0xb7fa, 0x8799, 0x97b8,
0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, 0x36f2,
0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9,
0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, 0x6827,
0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c,
0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0,
0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d,
0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 0x7c26, 0x6c07,
0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba,
0x8fd9, 0x9ff8, 0x6e17, 0x7e36, 0x4e55, 0x5e74,
0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
};



/******************************************************************************
 * Function:        unsigned int CRC_ChecksumByte_X25( unsigned char *data,
 *                  unsigned char offset, unsigned char Number_of_bytes)
 * 
 * 
 * PreCondition:    None
 *
 *
 * Side Effects:    None
 *
 * Overview:        Calculates the checksum and returns the value
 *****************************************************************************/
unsigned int CRC_ChecksumByte_X25(unsigned char *data, unsigned char offset, unsigned int Number_of_bytes)
{
    volatile unsigned int crc, i_cnt,  crc_tmp;  
    unsigned char crc_wert;
    
    crc = 0xFFFF;
                    
    for (i_cnt = 0; i_cnt < offset; i_cnt++)
    { data++; }
    
    
    do 
    {            
       crc_wert = (unsigned char)*data++;
       crc_wert = reflect(crc_wert, 8);
       
       crc_tmp = (crc_wert ^ (crc >> 8)) & 0xff;
       crc = crc_table[crc_tmp] ^ (crc << 8);
       
       Number_of_bytes--;

    } while( 0 < Number_of_bytes );
    

  // efficient bit reversal for 16 bit int
  crc = (((crc & 0xAAAA)>>1) | ((crc & 0x5555)<<1));
  crc = (((crc & 0xCCCC)>>2) | ((crc & 0x3333)<<2));
  crc = (((crc & 0xF0F0)>>4) | ((crc & 0x0F0F)<<4));
  crc = ((crc>>8) | (crc<<8));
 
  return (unsigned short)(crc^0xFFFF);
}
как железом делать, я даже себе не представляю, так ка PLIB не работает, а Hamony Не грузиться
Gera82 вне форума   Ответить с цитированием
Старый 15.02.2018, 22:11   #3
rubel
Senior Member
 
Регистрация: 19.01.2009
Адрес: EARTH
Сообщений: 125
Вес репутации: 351/39
rubel is just really nicerubel is just really nicerubel is just really nicerubel is just really nice
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от Gera82 Посмотреть сообщение
...
А вот у новых компиляторов нет PLIB, есть Harmony. Эту проклятую "Гармонию" не могу запустить, пробовал уже не раз пере инсталлировать, не помогает:
пишет при загрузки:
"MPLAB Harmony Configurator failed to initialize."
...
Возможная причина незапуска: несоответствие версии библиотеки MPLAB Harmony и плагина MPLAB Harmony Configurator. К сожалению, не все версии плагина обладают свойством обратной совместимости
rubel вне форума   Ответить с цитированием
Старый 16.02.2018, 16:57   #4
d__
Junior Member
 
Регистрация: 05.10.2007
Сообщений: 9
Вес репутации: 194/0
d__ has a spectacular aura aboutd__ has a spectacular aura about
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

А вот еще один алгоритм:
uint16_t crc_block(uint8_t *Array, int len)
{
register uint8_t carry;
register uint8_t CRC_Low = 0; /* low 8 bits of CRC */
register uint8_t CRC_High = 0; /* high 8 bits of CRC */
while (0 != (len--))
{
carry = CRC_High ^ *Array++;
carry = carry ^ (carry >> 4);
CRC_High = CRC_Low ^ (carry << 4) ^ (carry >> 3);
CRC_Low = carry ^ (carry << 5);
}
return(uint16_t)CRC_Low | (((uint16_t)CRC_High) << 8);
}


А по поводу Гармонии, я бы не заморачивался: снес бы МПЛАБ к ...
и поставил свежескачанный. Тулзы запросто пришиваются к новоустановленному МПЛАБУ...
d__ вне форума   Ответить с цитированием
Старый 18.02.2018, 23:35   #5
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 510
Вес репутации: 349/41
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от rubel Посмотреть сообщение
Возможная причина незапуска: несоответствие версии библиотеки MPLAB Harmony и плагина MPLAB Harmony Configurator. К сожалению, не все версии плагина обладают свойством обратной совместимости
Да, там как раз в этом и дело было. я не смог на 3 системах завести эту "Гармонию". и на другом форуме где то прочитал про несовместимость.

Короче надо было установить Плагин из папки "Harmony".


Цитата:
Сообщение от d__ Посмотреть сообщение
А вот еще один алгоритм:
uint16_t crc_block(uint8_t *Array, int len)
{
register uint8_t carry;
register uint8_t CRC_Low = 0; /* low 8 bits of CRC */
register uint8_t CRC_High = 0; /* high 8 bits of CRC */
while (0 != (len--))
{
carry = CRC_High ^ *Array++;
carry = carry ^ (carry >> 4);
CRC_High = CRC_Low ^ (carry << 4) ^ (carry >> 3);
CRC_Low = carry ^ (carry << 5);
}
return(uint16_t)CRC_Low | (((uint16_t)CRC_High) << 8);
}


А по поводу Гармонии, я бы не заморачивался: снес бы МПЛАБ к ...
и поставил свежескачанный. Тулзы запросто пришиваются к новоустановленному МПЛАБУ...
Да разобрался вроде, за алгоритм спасибо, но мой пока бегает.


Надо с "гармонией" разбирать, настраивается конечно красиво, но дальше пока лес. Есть где нибудь тестовые проекты, или описание по "Гармонии"?
Мне интересно та часть, которая показывает куда мне свой кусок кода впихнуть :-)

Последний раз редактировалось Gera82; 18.02.2018 в 23:40.
Gera82 вне форума   Ответить с цитированием
Старый 19.02.2018, 13:40   #6
rubel
Senior Member
 
Регистрация: 19.01.2009
Адрес: EARTH
Сообщений: 125
Вес репутации: 351/39
rubel is just really nicerubel is just really nicerubel is just really nicerubel is just really nice
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от Gera82 Посмотреть сообщение

...

Надо с "гармонией" разбирать, настраивается конечно красиво, но дальше пока лес. Есть где нибудь тестовые проекты, или описание по "Гармонии"?
Мне интересно та часть, которая показывает куда мне свой кусок кода впихнуть :-)
Документы - в папке "doc", примеры - в папке "apps" (имеются в виду папки установленной гармошки). На сайте микрочипа можно найти много полезного здесь: http://microchipdeveloper.com/harmony:start

В общем то, ответы найти всегда можно, но, чесно признаться, изучение даётся не так быстро, как хотелось бы(из личного опыта).
rubel вне форума   Ответить с цитированием
Старый 06.03.2018, 14:28   #7
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 510
Вес репутации: 349/41
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от rubel Посмотреть сообщение
Документы - в папке "doc", примеры - в папке "apps" (имеются в виду папки установленной гармошки). На сайте микрочипа можно найти много полезного здесь: http://microchipdeveloper.com/harmony:start

В общем то, ответы найти всегда можно, но, чесно признаться, изучение даётся не так быстро, как хотелось бы(из личного опыта).
Решил пока без "гармошки" писать, PLIB тоже уже не работает.
Ручками и по документации настраивать.
Периферия очень мощная у PIC32MZ, но как нибудь пробьемся

Есть актуальный проект с двумя микрухами PIC32MZ И PIC32МК, на одной плате. на нем и буди экспериментировать

для PIC32MZ2048EFH144 нужен актуальный XC32 компилятор с таблеткой, где взять на v2.05?
Gera82 вне форума   Ответить с цитированием
Старый 11.03.2018, 06:31   #8
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 58
Сообщений: 2,301
Вес репутации: 3015/93
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от Gera82 Посмотреть сообщение
нужен актуальный XC32 компилятор с таблеткой
Free версия чем не подходит? На крайний случай можно в завершении работы купить за 1,8 тыр лицензию на месяц и получить финишную версию.
Марк вне форума   Ответить с цитированием
Старый 12.03.2018, 03:53   #9
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,696
Вес репутации: 3274/70
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Марк
free версия предусматривает уровень оптимизации 1.
что уже неплохо и даже уровень оптимизации 1 дает возможность понять, как страшно жить используя xc32.
есть вероятность, что в случае оптимизации 2, 3 и s будут дополнительные, никому не нужные проблемы.
besogon вне форума   Ответить с цитированием
Старый 12.03.2018, 15:10   #10
d-f-m
Senior Member
 
Регистрация: 09.02.2009
Адрес: Недалеко от Пятигорска
Возраст: 46
Сообщений: 610
Вес репутации: 1289/53
d-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud of
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от Gera82 Посмотреть сообщение
для PIC32MZ2048EFH144 нужен актуальный XC32 компилятор с таблеткой, где взять на v2.05?
Может пойдет 1.44
http://ww1.microchip.com/downloads/e...-installer.exe

В 2.00 и 2.05 добавили только поддержку CEC1702 - ARM® Cortex® -M4-based microcontroller
d-f-m вне форума   Ответить с цитированием
Старый 14.03.2018, 12:20   #11
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 510
Вес репутации: 349/41
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: Перенос CRC16-X25 (dsPIC33EP) на PIC32MZ

Цитата:
Сообщение от Марк Посмотреть сообщение
Free версия чем не подходит? На крайний случай можно в завершении работы купить за 1,8 тыр лицензию на месяц и получить финишную версию.
Ну я как раз Free версией и пользуюсь, хотелось проверить как работает оптимизация.

Код:
что уже неплохо и даже уровень оптимизации 1 дает возможность понять, как страшно жить используя xc32.
есть вероятность, что в случае оптимизации 2, 3 и s будут дополнительные, никому не нужные проблемы.
что так все плохо?
кстати на XC16 у мены были часто проблемы с 3 и s оптимизацией, не работали программы.

Цитата:
Может пойдет 1.44
http://ww1.microchip.com/downloads/e...-installer.exe

В 2.00 и 2.05 добавили только поддержку CEC1702 - ARM® Cortex® -M4-based microcontroller
у меня как раз эта версия в данный момент установлена.
Gera82 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча dr_Sash Источники питания и силовая электроника 37 08.09.2012 18:50
Написал программу а места не хватает на МК Аександр Продукция MICROCHIP 150 10.01.2008 12:33
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00


Часовой пояс GMT +3, время: 14:39.


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