Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
How to get more detailed ...
Forum: PULP General questions
Last Post: kgf
Yesterday, 07:42 AM
» Replies: 6
» Views: 2,605
|
Which SDK to be used to c...
Forum: PULP General questions
Last Post: Archibald
Yesterday, 02:12 AM
» Replies: 2
» Views: 3,154
|
Cheshire with two cores
Forum: PULP General questions
Last Post: tomkathy
06-18-2025, 09:17 AM
» Replies: 5
» Views: 1,984
|
【新手必讀】Relx電子菸煙彈選購指南與保養技巧
Forum: PULP General questions
Last Post: mmrnkbqfexgs
06-18-2025, 07:51 AM
» Replies: 0
» Views: 68
|
Understanding HWPE integr...
Forum: PULP General questions
Last Post: sillycorn
06-05-2025, 06:45 AM
» Replies: 0
» Views: 171
|
missing package in pulp-s...
Forum: PULP General questions
Last Post: Renryant
06-02-2025, 07:55 AM
» Replies: 1
» Views: 516
|
Role of gapy, list of per...
Forum: PULP General questions
Last Post: yoss
04-25-2025, 01:41 PM
» Replies: 7
» Views: 12,360
|
Pulp - make build
Forum: PULP General questions
Last Post: tomkathy
04-09-2025, 07:58 AM
» Replies: 4
» Views: 2,149
|
Unable to compile and run...
Forum: PULP General questions
Last Post: victorgervasio
03-25-2025, 09:30 AM
» Replies: 2
» Views: 982
|
__builtin_pulp
Forum: PULP General questions
Last Post: yoss
02-18-2025, 04:31 PM
» Replies: 0
» Views: 542
|
|
|
Compiling the RISC-V GNU Compiler Toolchain on OS X |
Posted by: Coderitter GmbH - 02-04-2022, 09:49 AM - Forum: PULP General questions
- Replies (4)
|
 |
Hello everyone,
i want the RISC-V GNU Compiler Toolchain to work on OS X. Here are my steps so far and what goes wrong.
Code: brew install gawk gnu-sed gmp mpfr libmpc isl zlib
Code: git clone --recursive https://github.com/pulp-platform/pulp-riscv-gnu-toolchain
Code: ./configure --prefix=/opt/riscv --with-arch=rv32imfdc --with-cmodel=medlow --enable-multilib make
Then i created a disk image of 8 GiB with a case sensitive APFS file system and copied all the files into that disk image. Inside that disk image i run make.
Make returns the following error message which is the same error message if i do not run make inside the disk image.
Code: /Users/rene/code/pulp-riscv-gnu-toolchain/riscv-binutils-gdb/readline/rltty.c:83:7: error: implicit declaration of function 'ioctl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
if (ioctl (tty, TIOCGWINSZ, &w) == 0)
^
/Users/rene/code/pulp-riscv-gnu-toolchain/riscv-binutils-gdb/readline/rltty.c:720:3: error: implicit declaration of function 'ioctl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
ioctl (fildes, TIOCSTART, 0);
^
/Users/rene/code/pulp-riscv-gnu-toolchain/riscv-binutils-gdb/readline/rltty.c:759:3: error: implicit declaration of function 'ioctl' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
ioctl (fildes, TIOCSTOP, 0);
^
3 errors generated.
make[3]: *** [rltty.o] Error 1
make[2]: *** [all-readline] Error 2
make[1]: *** [all] Error 2
make: *** [stamps/build-binutils-newlib] Error 2
|
|
|
Pulpissimo clock frequency |
Posted by: nemanja-rv - 12-30-2021, 01:25 PM - Forum: PULP General questions
- Replies (3)
|
 |
Hi all,
I am planning to do some work on porting the Pulpissimo platform to several different FPGA boards. One will be Kintex KC705 and another one would Zynq ZC706. Potentially, there might also be a port to some of application specific boards, again, based on Kintex chip.
I have run an out-of-box run for Zedboard just to get the feeling about the sizes of different iPs. One thing that I've noticed is that the clock frequency is set to 20MHz for the Zedboard and that the Vivado synthesis/implementation does report a fail in timing closure even for such a low clock frequency.
My actual idea was to port to ZC706 and KC706 and to use a clock frequency of somewhere in the neighborhood of 80MHz-100MHz.
Is this something that should be achievable? What would be a maximal achievable frequency for FPGA synthesis?
In addition, have you been doing any synthesis runs for TSMC 40nm LP?
Thanks.
Cheers,
NK
|
|
|
Hyperram Interface |
Posted by: nemanja-rv - 12-29-2021, 05:39 PM - Forum: PULP General questions
- Replies (2)
|
 |
Hi all,
I am new to the forum and like to say Hi to all. I've been looking into using Pulpissimo platform in one of my projects that I am currently working on and would like to ask for some help. At the moment, I am at the very early stage of the project. My intention is use to use very basic subset of the Pulpissimo platform so I would like to start by removing some things that I don't need.
Is there an easy way of removing Hyperram interface from the udma subsystem? I would potentially also want to remove Cam interface and I2S interface. My project will, most likely, be using SPI and SDIO interfaces as well as uart.
Thanks.
If there is already a thread addressing this topic, please refer.
Best
Nemanja
|
|
|
How to clock gate the Pulpino |
Posted by: CongHuang - 12-28-2021, 11:59 AM - Forum: PULP General questions
- Replies (1)
|
 |
Hello, team!
I am currently working on a project related to PULPino. I am wondering how to put the core in the IDLE state. The datasheet introduces an apb_event_unit for clock gating everything else and waking up the core if an event/interrupt arrives. I notice there is another peripheral, apb_pulpino contains CLK Gate as well.
However, while running benchmarks such as hello/fft/sha/fir, I could not find the situations when the core is in the IDLE state. In other words, the clock signal is not gated during the entire operation. Is the clock gating function being enabled? Is there any benchmark I can use to test the clock gating (it would be better if the riscv-core and peripherals can be clock gated simultaneously)?
Thanks for your kind reply!
|
|
|
Where's the data stored? |
Posted by: zorrolee777 - 11-03-2021, 10:40 PM - Forum: PULP General questions
- No Replies
|
 |
Hello,
Just a quick question about the pulpissimo.
We implemented pulpissimo on the zcu102 board, and successfully ran some examples using SDK. We would like to ask if we have such "int a = {1,2,3,4};" array in the program, for example, in the hello test, where would the array be stored? Is that stored in the 8kb ROM, or 512kb L2?
We are asking this because we could successfully define the array under the size of 175, but when we defined the array with a larger size (e.g. a = {0,0,0,0,0,0,0,0......0}), the program will be stuck.
Thanks,
Zongru
|
|
|
Modify input image on MobileNet |
Posted by: zumair-19 - 10-22-2021, 11:21 AM - Forum: PULP General questions
- Replies (1)
|
 |
Hello good members!
I've recently started working with pulp platform and ran MobileNet application available on both dory and pulp-sdk by following the instructions given on github. It was a successful test however i am not able to understand from where the input values are taken or generated and i wanted to modify the input image size and see the output. can anyone help me understand.
|
|
|
Distribution base_url display Packages config.repo repodata, expecting list of RPMs |
Posted by: janr7 - 08-13-2021, 08:50 AM - Forum: PULP General questions
- No Replies
|
 |
Hello
We are moving to pulp3 from pulp2 without the migration path. Setting all up in a container.
Using pulp/squeezer
Using the base_url from the created distribution, the web page displays three lines as below.
Inside Packages are directories [0-1a-z] and the packages are in there.
I was expecting a list of packages.
Are there a way to have the URL display the list of packages on one page?
Thanks so much.
base-url result:
{
"base_path": "SLE/SLES12/SP5/updates",
"base_url": "http://ltdkserverops05vm.group.net:8080/pulp/content/SLE/SLES12/SP5/updates/",
"content_guard": null,
"name": "SLES12-SP5-Updates",
"publication": "/pulp/api/v3/publications/rpm/rpm/f52e00bb-7344-4058-ab7e-a2893d64ce33/",
"pulp_created": "2021-08-13T08:08:57.970004Z",
"pulp_href": "/pulp/api/v3/distributions/rpm/rpm/72421ce2-611d-417b-bd65-49d5272f0cf7/",
"pulp_labels": {},
"repository": null
},
{
"versions": [
{
"component": "core",
"version": "3.14.4"
},
{
"component": "rpm",
"version": "3.14.0"
},
{
"component": "python",
"version": "3.4.0"
},
{
"component": "maven",
"version": "0.3.1"
},
{
"component": "file",
"version": "1.8.2"
},
{
"component": "deb",
"version": "2.14.1"
},
{
"component": "container",
"version": "2.8.0"
},
{
"component": "certguard",
"version": "1.5.0"
},
{
"component": "ansible",
"version": "0.9.0"
}
]
|
|
|
How to get in64_t working as well as C++ builds |
Posted by: Dom2231 - 06-30-2021, 01:57 PM - Forum: PULP General questions
- Replies (2)
|
 |
Hi everyone,
I'm currently working on my Master's thesis where I need to implement a software algorithm using 36 bit integers. My first approach was using the int64_t C type to represent my number. While it all worked fine on my local machine the algorithm broke in the Pulpissimo simulator.
After a while of debugging I figured out that the int64_t type does not work for me. To get started I modified `pulp-rt-examples/hello/test.c` to the code printed below, which is also a small example showing the issue that int64_t types always return the same value. I'm not sure whether this is a bug or I need to reconfigure something.
Do you have any idea how to solve this? Maybe I need to activate some compile flag or is there some 64-bit extension that I could easily add to the processor core?
I saw that the compiler does also support C++ so I wanted to give this a try but I couldn't find an example project to see how I can get the C++ compiler running. Simply changing the file extension from *.c to *.cpp did not work unfortunately.
Thank you very much 
BR
Dominik
Code: #include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
// Everything works when changing
// int64_t to int32_t
int64_t foo = 42;
// Prints 0 instead of 42
printf("\r\n%ld\r\n", foo);
return 0;
}
|
|
|
*OpenOCD compilation errors WITH SOLUTIONS* |
Posted by: LarsKeuninckx - 06-25-2021, 09:35 AM - Forum: PULP General questions
- No Replies
|
 |
Compiling OpenOCD (with gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0) as described in https://github.com/pulp-platform/pulpiss...l-platform, section "GDB and OpenOCD":
Code: source sourceme.sh && ./pulp-tools/bin/plpbuild checkout build --p openocd --stdout
This error was encountered:
Code: In function 'memset',
inlined from 'mg_gen_ataid' at src/flash/mflash.c:1162:2,
inlined from 'mg_storage_config' at src/flash/mflash.c:1174:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:10: error: '__builtin_memset' offset [509, 512] from the object at 'buff' is out of the bounds of referenced subobject 'reserved7' with type 'mg_io_uint8[186]' {aka 'unsigned char[186]'} at offset 322 [-Werror=array-bounds]
71 | return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:3344: src/flash/mflash.lo] Error 1
make[2]: Leaving directory '/home/thom/Argus/pulpissimo/pulp-sdk/tools/riscv-openocd'
make[1]: *** [Makefile:4283: install-recursive] Error 1
make[1]: Leaving directory '/home/thom/Argus/pulpissimo/pulp-sdk/tools/riscv-openocd'
make: *** [Makefile:4585: install] Error 2
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
SOLUTION: see https://githubmemory.com/repo/STMicroele...OCD/issues, user nretro's comment:
Quote: In src/flash/mflash.h the line
Code: mg_io_uint8 reserved7[186];
Quote: should be changed to
Code: mg_io_uint8 reserved7[190];
Quote:This is obviously an error, since in mflash.c reserved7 is accessed using
memset(pSegIdDrvInfo->reserved7, 0x00, 190);
Current gcc compiler flags this with an out of bound warning. In combination with the "Werror" flag, the compilation will be aborted.
After fixing that error, this one appears:
Code: In file included from src/helper/options.c:38:
/usr/include/x86_64-linux-gnu/sys/sysctl.h:21:2: error: #warning "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror=cpp]
21 | #warning "The <sys/sysctl.h> header is deprecated and will be removed."
| ^~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:3359: src/helper/libhelper_la-options.lo] Error 1
make[2]: Leaving directory '/home/thom/Argus/pulpissimo/pulp-sdk/tools/riscv-openocd'
make[1]: *** [Makefile:4283: install-recursive] Error 1
make[1]: Leaving directory '/home/thom/Argus/pulpissimo/pulp-sdk/tools/riscv-openocd'
make: *** [Makefile:4585: install] Error 2
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
SOLUTION: see https://github.com/rr-debugger/rr/commit...49d49cfe5d
Apply these changes to pulp-sdk/tools/riscv-openocd/src/helper/options.c:
Code: #if IS_DARWIN
#include <libproc.h>
#endif
#include <sys/syscall.h>
//#ifdef HAVE_SYS_SYSCTL_H
//#include <sys/sysctl.h>
//#endif
#ifndef CTL_KERN
#define CTL_KERN 1
#endif
#ifndef KERN_RTSIGMAX
#define KERN_RTSIGMAX 33
#endif
(...)
char *path = malloc(PATH_MAX);
if (path == NULL)
break;
int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
size_t size = PATH_MAX;
if (syscall(RR__sysctl, mib, (u_int)ARRAY_SIZE(mib), path, &size, NULL, 0) != 0)
//if (sysctl(mib, (u_int)ARRAY_SIZE(mib), path, &size, NULL, 0) != 0)
break;
Posted here so you don't have to waste the time we did. After that, the compilation works. Good luck.
|
|
|
|