Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
cute-wr
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
white-rabbit
cute-wr
Commits
dffc800f
Commit
dffc800f
authored
Nov 11, 2014
by
Qiang Du
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove trailing spaces in eb-*.c
parent
360ce693
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
185 additions
and
185 deletions
+185
-185
eb-console.c
tools/eb-console.c
+20
-20
eb-flash.c
tools/eb-flash.c
+147
-147
eb-info.c
tools/eb-info.c
+18
-18
No files found.
tools/eb-console.c
View file @
dffc800f
/** @file eb-info.c
* @brief Report the contents of an FPGA using Etherbone.
*
* Copyright (C) 2013 GSI Helmholtz Centre for Heavy Ion Research GmbH
* Copyright (C) 2013 GSI Helmholtz Centre for Heavy Ion Research GmbH
*
* A complete skeleton of an application using the Etherbone library.
*
...
...
@@ -17,7 +17,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************
...
...
@@ -69,12 +69,12 @@ int main(int argc, char** argv) {
eb_data_t
rx_data
[
BATCH_SIZE
],
tx_data
,
done
;
eb_cycle_t
cycle
;
char
byte
;
/* Default arguments */
program
=
argv
[
0
];
error
=
0
;
i
=
-
1
;
/* Process the command-line arguments */
error
=
0
;
while
((
opt
=
getopt
(
argc
,
argv
,
"i:h"
))
!=
-
1
)
{
...
...
@@ -98,24 +98,24 @@ int main(int argc, char** argv) {
error
=
1
;
}
}
if
(
error
)
return
1
;
if
(
optind
+
1
!=
argc
)
{
fprintf
(
stderr
,
"%s: expecting three non-optional arguments: <proto/host/port>
\n
"
,
program
);
return
1
;
}
if
((
status
=
eb_socket_open
(
EB_ABI_CODE
,
0
,
EB_DATAX
|
EB_ADDRX
,
&
socket
))
!=
EB_OK
)
die
(
"eb_socket_open"
,
status
);
if
((
status
=
eb_device_open
(
socket
,
argv
[
optind
],
EB_DATAX
|
EB_ADDRX
,
3
,
&
device
))
!=
EB_OK
)
die
(
argv
[
optind
],
status
);
c
=
sizeof
(
sdb
)
/
sizeof
(
struct
sdb_device
);
if
((
status
=
eb_sdb_find_by_identity
(
device
,
CERN_ID
,
UART_ID
,
&
sdb
[
0
],
&
c
))
!=
EB_OK
)
die
(
"eb_sdb_find_by_identity"
,
status
);
if
(
i
==
-
1
)
{
if
(
c
!=
1
)
{
fprintf
(
stderr
,
"%s: found %d UARTs on that device; pick one with -i #
\n
"
,
program
,
c
);
...
...
@@ -128,11 +128,11 @@ int main(int argc, char** argv) {
fprintf
(
stderr
,
"%s: could not find UART #%d on that device (%d total)
\n
"
,
program
,
i
,
c
);
exit
(
1
);
}
printf
(
"Connected to uart at address %"
PRIx64
"
\n
"
,
sdb
[
i
].
sdb_component
.
addr_first
);
tx
=
sdb
[
i
].
sdb_component
.
addr_first
+
VUART_TX
;
rx
=
sdb
[
i
].
sdb_component
.
addr_first
+
VUART_RX
;
/* disable input buffering and echo */
tcgetattr
(
STDIN_FD
,
&
old
);
tcgetattr
(
STDIN_FD
,
&
tc
);
...
...
@@ -144,29 +144,29 @@ int main(int argc, char** argv) {
tc
.
c_cc
[
VTIME
]
=
0
;
tcflush
(
STDIN_FD
,
TCIFLUSH
);
tcsetattr
(
STDIN_FD
,
TCSANOW
,
&
tc
);
flags
=
fcntl
(
STDIN_FD
,
F_GETFL
,
0
);
flags
|=
O_NONBLOCK
;
fcntl
(
STDIN_FD
,
F_SETFL
,
flags
);
/* be lazy and just poll for now */
busy
=
0
;
while
(
1
)
{
if
(
!
busy
)
usleep
(
10000
);
/* 10ms */
/* Poll for status */
eb_cycle_open
(
device
,
0
,
eb_block
,
&
cycle
);
eb_cycle_read
(
cycle
,
rx
,
EB_BIG_ENDIAN
|
EB_DATA32
,
&
rx_data
[
0
]);
eb_cycle_read
(
cycle
,
tx
,
EB_BIG_ENDIAN
|
EB_DATA32
,
&
done
);
eb_cycle_close
(
cycle
);
/* Bulk read anything extra */
if
((
rx_data
[
0
]
&
0x100
)
!=
0
)
{
eb_cycle_open
(
device
,
0
,
eb_block
,
&
cycle
);
for
(
i
=
1
;
i
<
BATCH_SIZE
;
++
i
)
eb_cycle_read
(
cycle
,
rx
,
EB_BIG_ENDIAN
|
EB_DATA32
,
&
rx_data
[
i
]);
eb_cycle_close
(
cycle
);
for
(
i
=
0
;
i
<
BATCH_SIZE
;
++
i
)
{
if
((
rx_data
[
i
]
&
0x100
)
==
0
)
continue
;
byte
=
rx_data
[
i
]
&
0xFF
;
...
...
@@ -174,9 +174,9 @@ int main(int argc, char** argv) {
}
fflush
(
stdout
);
}
busy
=
busy
&&
(
done
&
0x100
)
==
0
;
if
(
!
busy
&&
read
(
STDIN_FD
,
&
byte
,
1
)
==
1
)
{
if
(
byte
==
3
)
{
/* control-C */
tcsetattr
(
STDIN_FD
,
TCSANOW
,
&
old
);
...
...
@@ -187,6 +187,6 @@ int main(int argc, char** argv) {
busy
=
1
;
}
}
return
0
;
}
tools/eb-flash.c
View file @
dffc800f
This diff is collapsed.
Click to expand it.
tools/eb-info.c
View file @
dffc800f
/** @file eb-info.c
* @brief Report the contents of an FPGA using Etherbone.
*
* Copyright (C) 2013 GSI Helmholtz Centre for Heavy Ion Research GmbH
* Copyright (C) 2013 GSI Helmholtz Centre for Heavy Ion Research GmbH
*
* A complete skeleton of an application using the Etherbone library.
*
...
...
@@ -17,7 +17,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************
...
...
@@ -58,11 +58,11 @@ int main(int argc, char** argv) {
eb_device_t
device
;
eb_cycle_t
cycle
;
eb_data_t
*
data
;
/* Default arguments */
program
=
argv
[
0
];
error
=
0
;
/* Process the command-line arguments */
error
=
0
;
while
((
opt
=
getopt
(
argc
,
argv
,
"h"
))
!=
-
1
)
{
...
...
@@ -79,20 +79,20 @@ int main(int argc, char** argv) {
error
=
1
;
}
}
if
(
error
)
return
1
;
if
(
optind
+
1
!=
argc
)
{
fprintf
(
stderr
,
"%s: expecting three non-optional arguments: <proto/host/port>
\n
"
,
program
);
return
1
;
}
if
((
status
=
eb_socket_open
(
EB_ABI_CODE
,
0
,
EB_DATAX
|
EB_ADDRX
,
&
socket
))
!=
EB_OK
)
die
(
"eb_socket_open"
,
status
);
if
((
status
=
eb_device_open
(
socket
,
argv
[
optind
],
EB_DATAX
|
EB_ADDRX
,
3
,
&
device
))
!=
EB_OK
)
die
(
argv
[
optind
],
status
);
c
=
1
;
if
((
status
=
eb_sdb_find_by_identity
(
device
,
GSI_ID
,
ROM_ID
,
&
sdb
,
&
c
))
!=
EB_OK
)
die
(
"eb_sdb_find_by_identity"
,
status
);
...
...
@@ -100,27 +100,27 @@ int main(int argc, char** argv) {
fprintf
(
stderr
,
"Found %d ROM identifiers on that device
\n
"
,
c
);
exit
(
1
);
}
if
((
status
=
eb_cycle_open
(
device
,
0
,
0
,
&
cycle
))
!=
EB_OK
)
die
(
"eb_cycle_open"
,
status
);
len
=
((
sdb
.
sdb_component
.
addr_last
-
sdb
.
sdb_component
.
addr_first
)
+
1
)
/
4
;
if
((
data
=
malloc
(
len
*
sizeof
(
eb_data_t
)))
==
0
)
die
(
"malloc"
,
EB_OOM
);
for
(
i
=
0
;
i
<
len
;
++
i
)
eb_cycle_read
(
cycle
,
sdb
.
sdb_component
.
addr_first
+
i
*
4
,
EB_DATA32
|
EB_BIG_ENDIAN
,
&
data
[
i
]);
if
((
status
=
eb_cycle_close
(
cycle
))
!=
EB_OK
)
die
(
"eb_cycle_close"
,
status
);
for
(
i
=
0
;
i
<
len
;
++
i
)
{
printf
(
"%c%c%c%c"
,
(
char
)(
data
[
i
]
>>
24
)
&
0xff
,
(
char
)(
data
[
i
]
>>
16
)
&
0xff
,
printf
(
"%c%c%c%c"
,
(
char
)(
data
[
i
]
>>
24
)
&
0xff
,
(
char
)(
data
[
i
]
>>
16
)
&
0xff
,
(
char
)(
data
[
i
]
>>
8
)
&
0xff
,
(
char
)(
data
[
i
]
)
&
0xff
);
}
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment