Thanks for your response.

I also encountered another problem.

That's,  I found the content of 16-bit EEPROM through the combination of the SMBUS APIs was not incorrect.

    /* This is for 16 bit addressing EEPROM device. First an offset
     * needs to be written before read data from a offset
     */
    int ret = i2c_smbus_write_byte_data(file, 0, low_addr);
    if (ret < 0)
    {
        return ret;
    }

    return i2c_smbus_read_i2c_block_data(file, high_addr, len, buf);

So I referred to i2c-tools to modify them. 
And then I could see my FRU under the tree of 'xyz/openbmc_project/FruDevice/'

    int ret = i2c_smbus_write_byte_data(file, high_addr, low_addr);
    //int ret = i2c_smbus_write_byte_data(file, 0, low_addr);
    if (ret < 0)
    {
        return ret;
    }
    while (index < len){
buf[index] = i2c_smbus_read_byte(file);
index++;
    }

    //return i2c_smbus_read_i2c_block_data(file, high_addr, len, buf);
    return len;

Let me know if you have any comments.

Thanks.