---
title: "w6100 Iolibrary modification request"
url: "https://maker.wiznet.io/forum/15347"
markdown_url: "https://maker.wiznet.io/forum/15347/md"
type: "Forum topic"
category: "IO Modules"
author: "vkfhgl33"
created: "2024-11-11T13:43:43+09:00"
last_activity: "2024-11-11T13:44:19+09:00"
language: "en"
views: 2
replies: 0
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# w6100 Iolibrary modification request

## Question

Asked by vkfhgl33 on 2024-11-11 in IO Modules.

I am using w6100 on TI DSP 28377D.

I am contacting you because I want to minimize modification of Iolibrary due to MISRA 2012 C reliability test.

I have organized the parts that must be modified so far, but I am contacting you if Wiznet can help me with minimal modification.

1.socket.c 85 lines
- When using C89 ANCI, for(uint8_t i =0;i2. wizchip_conf.h 151 lines
- When assigning EMIF memory address used by TI to _WIZCHIP_IO_BASE_, W6100 register R/W error occurs
Guessing
- Assign EMIF bus address ex) 0x00100000 to IDM_AR0, IDM_AR1, IDM_BSR, IDM_DR macros => Add #define _WIZCHIP_IO_BASE__ 0x00100000

#define _WIZCHIP_IO_BASE_ 0x00000000

#define _WIZCHIP_IO_BASE__ 0x00100000

- You need to add define as above to R/W W6100 register normally
- Guessing, Like the WIZCHIP.IF.BUS.write_data(IDM_AR0, tAD,3,1) function, IDM_AR0 represents an external bus address, and tAD represents a W6100 address. It seems that the register can be used normally by adding the address in the function.
=> So the conclusion is that the IO_BASE input variable is needed for EMIF or other external interface expandability in the W6100 Iolibrary.

3.w6100.h, after line 247
- If you write 0x2000 &lt;&lt; 8, the actual intention is 0x00200000, but it may be read as 0x0000 depending on the system. Please consider changing it to 0x00002000 for system expandability.

---

Source: https://maker.wiznet.io/forum/15347
