Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 788
» Latest member: DiyaSimla
» Forum threads: 199
» Forum posts: 657

Full Statistics

Latest Threads
Modify input image on Mob...
Forum: PULP General questions
Last Post: zumair-19
Yesterday, 04:57 AM
» Replies: 2
» Views: 63
Pulpissimo implementation...
Forum: PULP General questions
Last Post: zorrolee777
09-23-2021, 09:08 PM
» Replies: 0
» Views: 191
Distribution base_url dis...
Forum: PULP General questions
Last Post: janr7
08-13-2021, 08:50 AM
» Replies: 0
» Views: 5,412
Is that possible to boot ...
Forum: PULP General questions
Last Post: kgf
08-04-2021, 07:58 AM
» Replies: 1
» Views: 384
JTAG and Stimulifile
Forum: PULP General questions
Last Post: ufsahu
07-12-2021, 09:14 AM
» Replies: 2
» Views: 1,100
Pulpissimo porting to Zep...
Forum: PULP General questions
Last Post: stefanct
07-05-2021, 01:32 AM
» Replies: 2
» Views: 870
How to get in64_t working...
Forum: PULP General questions
Last Post: Dom2231
06-30-2021, 02:19 PM
» Replies: 2
» Views: 858
Bitstream generation of N...
Forum: PULP General questions
Last Post: LarsKeuninckx
06-25-2021, 12:38 PM
» Replies: 1
» Views: 1,162
*OpenOCD compilation erro...
Forum: PULP General questions
Last Post: LarsKeuninckx
06-25-2021, 09:35 AM
» Replies: 0
» Views: 443
pulp optimization problem...
Forum: PULP General questions
Last Post: meggiman
06-24-2021, 07:05 AM
» Replies: 1
» Views: 638

 
  Modify input image on MobileNet
Posted by: zumair-19 - 10-22-2021, 11:21 AM - Forum: PULP General questions - Replies (2)

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.

Print this item

  Pulpissimo implementation on ZCU102
Posted by: zorrolee777 - 09-23-2021, 09:08 PM - Forum: PULP General questions - No Replies

Hello,

I'm trying to implement Pulpissimo on ZCU102 FPGA board, but when running "openocd -f openocd-zcu102-digilent-jtag-hs2.cfg", I got the following error at the beginning:

Code:
Open On-Chip Debugger 0.11.0+dev-01995-g41ffb2dee-dirty (2021-09-23-14:08)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
DEPRECATED! use 'adapter speed' not 'adapter_khz'
DEPRECATED! use 'adapter driver' not 'interface'
DEPRECATED! use 'ftdi vid_pid' not 'ftdi_vid_pid'
DEPRECATED! use 'ftdi channel' not 'ftdi_channel'
DEPRECATED! use 'ftdi layout_init' not 'ftdi_layout_init'
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Warn : `riscv set_prefer_sba` is deprecated. Please use `riscv set_mem_access` instead.
Error: libusb_claim_interface() failed with LIBUSB_ERROR_BUSY
Error: unable to open ftdi device with vid 0403, pid 6014, description '*', serial '*' at bus location '*'


Once I shut down Vivado and rerun it, I will get the following:
Code:
openocd -f openocd-zcu102-digilent-jtag-hs2.cfg
Open On-Chip Debugger 0.11.0+dev-01995-g41ffb2dee-dirty (2021-09-23-14:08)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
DEPRECATED! use 'adapter speed' not 'adapter_khz'
DEPRECATED! use 'adapter driver' not 'interface'
DEPRECATED! use 'ftdi vid_pid' not 'ftdi_vid_pid'
DEPRECATED! use 'ftdi channel' not 'ftdi_channel'
DEPRECATED! use 'ftdi layout_init' not 'ftdi_layout_init'
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Warn : `riscv set_prefer_sba` is deprecated. Please use `riscv set_mem_access` instead.
Info : clock speed 1000 kHz
Info : JTAG tap: riscv.unknown0 tap/device found: 0x5ba00477 (mfg: 0x23b (ARM Ltd), part: 0xba00, ver: 0x5)
Info : JTAG tap: riscv.cpu tap/device found: 0x24738093 (mfg: 0x049 (Xilinx), part: 0x4738, ver: 0x2)
Error: riscv.cpu: IR capture error; saw 0x1a not 0x01
Warn : Bypassing JTAG setup events due to errors
Error: dtmcontrol is 0. Check JTAG connectivity/board power.
Warn : target riscv.cpu examination failed
Info : starting gdb server for riscv.cpu on 3333
Info : Listening on port 3333 for gdb connections
Error: Target not examined yet

Do you have any idea how to fix the problem? Any suggestion would be much appreciated! Smile Smile Smile

Also for the hardware connection, we have J2, J83 and PMOD 0 HS2 connected. Is this connection correct? Huh Huh

Thanks,
Zongru

Print this item

Question 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"
    }
  ]

Print this item

  Is that possible to boot Linux kernel on Pulpissimo with minor changes?
Posted by: ninipa - 08-04-2021, 07:25 AM - Forum: PULP General questions - Replies (1)

Hi Experts,

I'm wondering, is the original Pulpissimo on git be able to boot Linux kernel? (with RI5CY I guess)
If not, how can I achieve it with minor changes? (like replacing RI5CY with Ariane). I'm expecting not to use certain platform like FPGA. It's like I'm going to boot up Linux in simulation with Pulpissimo (despite of speed)

Print this item

  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 Smile

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;
}

Print this item

Information *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.

Print this item

  Pulpissimo porting to Zephyr RTOS
Posted by: RiscV - 06-18-2021, 05:48 AM - Forum: PULP General questions - Replies (2)

Hi team,
I am trying to run pulp-rt examples on the Zephyr platform, but I didn't find any documentation regarding this.
Is pulpissimo run on Zephyr RTOS?  If pulp supports Zephyr, can you help me to find the documentation/steps? Your help in this regard is highly appreciated.

Thanks in advance
RiscV

Print this item

  pulp optimization problem,not getting expected output.
Posted by: pallavi@76 - 06-17-2021, 07:34 AM - Forum: PULP General questions - Replies (1)

|project|loc_Bangalore|loc_Pune|cat_s|cat_c|
|:------|:-----------:|:------:|:---:| ---:|
|abc    |1            |0       |0    |1    |
|Sys    |1            |0       |0    |1    |
|Syst   |0            |1       |1    |0    |
|EPS    |1            |0       |0    |1    |
|foss   |1            |0       |0    |1    |
|opc    |0            |1       |1    |0    |

> want list of projects,which should satisfy below condition:
   
 1. count of project related to loc_Bangalore <=3
 2. count of project related to loc_pune <=2
 3. count of project related to cat_c <=4
 4. count of project related to cat_s <=1
 5. total project selected <=5(final condition).

> whatever project will come in output it should fullfill all 5 condition.

I tried soe code:
 but not getting expected result.

    prob = LpProblem("choose project")
    project_list = list(df['project'])
    banglore = dict(zip(project_list,df['loc_Bangalore']))
    pune = dict(zip(project_list,df['loc_Pune']))
    c = dict(zip(project_list,df['cat_C']))
    s = dict(zip(project_list,df['cat_S']))
    proj_vars = pulp.LpVariable.dicts("project",project_list,cat='Binary')
    no_of_project_choose = 5
    prob += pulp.lpSum([banglore[f] * proj_vars[f] for f in project_list]) <= 3
    prob += pulp.lpSum([pune[f] * proj_vars[f] for f in project_list]) <=2
    prob += pulp.lpSum([c[f]  * proj_vars[f] for f in project_list]) <=4
    prob += pulp.lpSum([s[f]  * proj_vars[f] for f in project_list]) <=1
    prob += pulp.lpSum([[banglore[f] * proj_vars[f] for f in project_list]+[pune[f] * proj_vars[f] for f in project_list]+
         [c[f]  * proj_vars[f] for f in project_list]+[s[f]  * proj_vars[f] for f in project_list]]) <=5
    prob.solve()

> output:   abc 0.0,   sys 0.0,   syst None,   EPS 0.0 ,  foss 0.0 ,  opc
> None(i am getting all project with 0 or some number line abc 9)

Pls help me in solving this.I want only project which satisfy other condition also(like banglore, pune,c and s).
is there anyother way of solving this?
i m not sue about my solution and way of solving.plz help.

Print this item

  pulp optimization problem,not getting expected output.
Posted by: pallavi@76 - 06-17-2021, 07:33 AM - Forum: PULP General questions - Replies (1)

|project|loc_Bangalore|loc_Pune|cat_s|cat_c|
|:------|:-----------:|:------:|:---:| ---:|
|abc    |1            |0       |0    |1    |
|Sys    |1            |0       |0    |1    |
|Syst   |0            |1       |1    |0    |
|EPS    |1            |0       |0    |1    |
|foss   |1            |0       |0    |1    |
|opc    |0            |1       |1    |0    |

> want list of projects,which should satisfy below condition:
   
 1. count of project related to loc_Bangalore <=3
 2. count of project related to loc_pune <=2
 3. count of project related to cat_c <=4
 4. count of project related to cat_s <=1
 5. total project selected <=5(final condition).

> whatever project will come in output it should fullfill all 5 condition.

I tried soe code:
 but not getting expected result.

    prob = LpProblem("choose project")
    project_list = list(df['project'])
    banglore = dict(zip(project_list,df['loc_Bangalore']))
    pune = dict(zip(project_list,df['loc_Pune']))
    c = dict(zip(project_list,df['cat_C']))
    s = dict(zip(project_list,df['cat_S']))
    proj_vars = pulp.LpVariable.dicts("project",project_list,cat='Binary')
    no_of_project_choose = 5
    prob += pulp.lpSum([banglore[f] * proj_vars[f] for f in project_list]) <= 3
    prob += pulp.lpSum([pune[f] * proj_vars[f] for f in project_list]) <=2
    prob += pulp.lpSum([c[f]  * proj_vars[f] for f in project_list]) <=4
    prob += pulp.lpSum([s[f]  * proj_vars[f] for f in project_list]) <=1
    prob += pulp.lpSum([[banglore[f] * proj_vars[f] for f in project_list]+[pune[f] * proj_vars[f] for f in project_list]+
         [c[f]  * proj_vars[f] for f in project_list]+[s[f]  * proj_vars[f] for f in project_list]]) <=5
    prob.solve()

> output:   abc 0.0,   sys 0.0,   syst None,   EPS 0.0 ,  foss 0.0 ,  opc
> None(i am getting all project with 0 or some number line abc 9)

Pls help me in solving this.I want only project which satisfy other condition also(like banglore, pune,c and s).
is there anyother way of solving this?
i m not sue about my solution and way of solving.plz help.

Print this item

  Tock OS on pulpissimo
Posted by: cyberbemon - 05-31-2021, 02:28 PM - Forum: PULP General questions - Replies (1)

I've been looking at porting Tock OS on to the pulp platform and mostly reading through the documentation. I'm fairly new to this whole thing, so I have few questions. According to the TockOS porting guide, I need to define the following in the linker file

Quote: For most developers, it should
 * be sufficient to define {ROM/PROG/RAM}_{ORIGIN/LENGTH} (6 variables, the start and length for each),
 * MPU_MIN_ALIGN (the minimum alignment granularity supported by the MPU) and PAGE_SIZE (the size of a flash page).
 * If undefined, PAGE_SIZE uses the default value of 512 bytes.

Reading through the pulpissimo datasheet, I was unable to find those exact information, so I was wondering, can I use the Data Memory for PROG? and can I use the Boot ROM for ROM? I don't see anything related to MPU mentioned in the datasheet, so is that not supported for pulp platform? 

Are there any other OS that runs on this platform?

Print this item