9 years ago.

General questions on GR-PEACH

Hello GR-PEACH team,

I have a Rev B board. A couple of questions:

1. Does the board have an Ethernet MAC address?

extern "C" void mbed_mac_address(char *);

2. Does the device have a serial number?

3. Does I2C master work on pins P1_2 / P1_3 ? I am seeing an ACK for every I2C address on the I2C bus. I do have 3.3K pullups on SDA/SCL.

4. Why does the RTC go to zero when pressing the reset switch?

5. Is there a software reset command like other mbed devices?

extern "C" void NVIC_SystemReset();

Best Regards,

I have a single device on I2C bus pins P1_2 and P1_3. It is not detected. Even using a modified version of the I2C scanner below, the device is not detected. Also, I2C timeouts are very slow.

https://developer.mbed.org/users/johnylafleur/code/i2c_scan/file/b4f549ac73a6/main.cpp

It does not matter if the mbed or mbed-src library is used.

Regards,

posted by Kevin Braun 31 Mar 2015

Is there any update on the I2C issue I am having?

Regards,

...kevin

posted by Kevin Braun 09 Apr 2015

Hello Masahiko,

It appears that the latest version of mbed-src_GR-PEACH_rev_b fixed the I2C issue I was having.

Thank You,

...kevin

posted by Kevin Braun 15 Apr 2015

1 Answer

9 years ago.

Hello Kevin-san,

I'm sorry for my late response.

1. Does the board have an Ethernet MAC address?

It doesn't have it. You can set the MAC address like a below.

void mbed_mac_address(char *mac) {

mac[0] = 0x00;

mac[1] = 0x02;

mac[2] = 0xF7;

mac[3] = 0xF0;

mac[4] = 0x00;

mac[5] = 0x00; }

2. Does the device have a serial number?

No.

3. Does I2C master work on pins P1_2 / P1_3 ? I am seeing an ACK for every I2C address on the I2C bus. I do have 3.3K pullups on SDA/SCL.

Yes. but Rev.B board doesn't need pullups.

4. Why does the RTC go to zero when pressing the reset switch?

This device doesn't have ROM memory and initial code set to zero.

5. Is there a software reset command like other mbed devices?

Currently, we are going to add this code

Best Regards, Masahiko Ikeda

Accepted Answer

Thank you Masahiko,

Another question: How does the mbed compiler know the difference between a Rev B board and a Rev C board?

I am still having i2c problems. Below is an i2c scanner (adapted from the link above).

1. The program detects NO i2c devices. It does work with a K64F and LPC1768.

2. For every i2c address, there is a very long wait before a timeout occurs. Again, this timeout is very fast on a K64F and LPC1768.

#include "mbed.h"
 
I2C i2c(P1_3, P1_2);
Serial pc(USBTX, USBRX);
DigitalOut gled(LED_GREEN, 1);
DigitalOut bled(LED_BLUE, 1);
 
char data [4];
int i;
int main() {
    pc.baud(230400); 
    pc.printf("\r\n\r\nLooking for I2C devices.\r\nstarted..\r\n");
    i2c.frequency(400000);
    
    // Scan for I2C devices that reply with ack
    for(i = 2; i <= 254; i = i + 2) {
        gled = !gled;
        if(i2c.read(i, &data[0], 1, true) == 0) {
            pc.printf("I2C device detected at address = %02x\r\n", i);
        } else {
            pc.printf("no device at address: %02x\r\n", i);
        }
    }
    gled = 1;
    pc.printf("done..\r\n");
    while(1) {
        bled = !bled;
        wait(0.2);
    }
}

Regards,

...kevin

posted by Kevin Braun 01 Apr 2015

mbed compiler cannot know whether the board is Rev.C or Rev.B. Currently mbed library set for Rev.B, but it will change for Rev.C before long.

But we will also describe how to compile it in a Wiki site of Renesas team. Please check that site.

<I2C issue> Currently, timeout against I2C address of GR-PEACH is set about 1sec. (in LPC1768 case, it is about 30us. ) So our test result is a completion of scan takes about 2 min. We'll review this timeout.

And we found an issue in the read function when 4th parameter is "true". We will fix it. I'm sorry for your inconvenience.

Best Regards,

Masahiko Ikeda

posted by Masahiko Ikeda 02 Apr 2015