Skip to main content

First post using stackedit

Welcome to StackEdit! Hey! I’m your first Markdown document in StackEdit 1 . Don’t delete me, I’m very helpful! I can be recovered anyway in the Utils tab of the Settings dialog. Documents StackEdit stores your documents in your browser, which means all your documents are automatically saved locally and are accessible offline! Note: StackEdit is accessible offline after the application has been loaded for the first time. Your local documents are not shared between different browsers or computers. Clearing your browser’s data may delete all your local documents! Make sure your documents are synchronized with Google Drive or Dropbox (check out the Synchronization section). Create a document The document panel is accessible using the button in the navigation bar. You can create a new document by clicking New document in the document panel. Switch to another document All your local documents are listed in the document panel. You can switch from one to anoth

Install SystemC in Cygwin

Note: This tutorial works with Cygwin 1.5.25-15 and SystemC 2.2.0.


Installing Cygwin

Hop over to cygwin's website and follow the installation procedure. I would recommend to do a full installation.

Installing SystemC

SystemC's class library and event based simulator can be downloaded from the SystemC.org website. You need to create a login before you can download the files.

Type:

export CXX g++

export CC gcc

I used the following procedure to install it:

  1. Download systemc-2.2.0.tgz and write to a suitable location
  2. Unzip the file using tar zxvf systemc-2.2.0.tgz
  3. Navigate to the systemc-2.2.0 directory
  4. Create a subdirectory as per the INSTALL file called objdir
  5. Navigate to the objdir directory
  6. create the destination directory mkdir /usr/local/systemc-2.2
  7. Execute ../configure --prefix=/usr/local/systemc-2.2
  8. Modify the default stack size SC_DEFAULT_STACK_SIZE which you can find in /systemc-2.2.0/src/sysc/kernel/sc_constants.h from 0x10000 to 0x50000

Line 57: const int SC_DEFAULT_STACK_SIZE = 0x50000;

  1. Build systemc using make pthreads
  2. Install systemc using make install
  3. Check the installation using make pthreads_check, you might get the following error:

/usr/local/systemc-2.2/include/systemc.h:175: error: `std::wctomb' has not been declared
/usr/local/systemc-2.2/include/systemc.h:177: error: `std::wcstombs' has not been declared

  1. If this is the case then open /usr/local/systemc-2.2/include/systemc.h and commend out the 2 lines as shown below:

Line 175: // using std::wctomb;
Line 176: using std::mbstowcs;
Line 177: // using std::wcstombs;

  1. re-run make pthreads_check and all tests should pass

Comments

Popular posts from this blog

Sử dụng gcov để kiểm tra sourcecode

Sau khi hoàn thành source code, trong test phase, có thể chúng ta cần kiểm tra tập test case của chúng ta có coverage tất cả các trường hợp có thể xảy ra hay không, hành động này gọi là test code coverage. Có nhiều tool miễn phí cũng như có phí để thực hiện việc này, nhưng đơn giản nhất là sử dụng công cụ gcov đi kèm trong trình biên dịch gcc. Để đọc chi tiết hơn về gcov, bạn có thể vào http://gcc.gnu.org/onlinedocs/gcc/Gcov.html#Gcov, hoặc tìm kiếm với Google. Sử dụng gcov khá đơn giản, giả sử ta có 3 file a.c, b.c và c.c. Truy cập vào thư mục chứa 3 files này, gõ: gcc -fprofile-arcs -ftest-coverage a.c b.c c.c Mặc định gcc sẽ tạo ra file a.out trong thư mục hiện thời, cùng với 3 file a.gcno, b.gcno và c.gcno. Sau đó bạn chạy file a.out với các parameter cần thiết, sẽ tạo ra thêm 3 file a.gcda, b.gcda và c.gcda. Sau đó, giả sử cần phân tích file b.c, chúng ta gõ: gcov b.c Có hai tham số thường dùng là -b và -f: -b: thêm thông tin về branch trong code. -f: thêm thông tin về hàm. Thông

Getting started with Cryptpad in Ubuntu: step by step

Cryptpad is an open source collaborative editor which is hosted at: https://github.com/cjdelisle/cryptpad It is easy to clone the github repository and start to try, but if you are a newbie, there maybe some difficulties. Suppose that you have a clean Ubuntu machine, and want to try with Cryptpad, you can follow these steps: 1. Download mongodb for Linux: https://www.mongodb.org/downloads 2. Unzip the file you got to a location you want. You will start mongodb from there, or add this directory to your PATH variable so you can start mongodb from anywhere. 3. Suppose that you chose the easier way, i.e start mongodb from its directory. 4. Open Terminal (Ctrl + Alt + T for shortcut), move to the directory of mongodb 5. Type: mkdir db mongod --dbpath=./db These above commands will first, create a directory 'db' insider the directory mongodb, then start mongodb server. 6. Keep the terminal with mongodb server running 7. Open another terminal (Ctrl + Shift +

First post using stackedit

Welcome to StackEdit! Hey! I’m your first Markdown document in StackEdit 1 . Don’t delete me, I’m very helpful! I can be recovered anyway in the Utils tab of the Settings dialog. Documents StackEdit stores your documents in your browser, which means all your documents are automatically saved locally and are accessible offline! Note: StackEdit is accessible offline after the application has been loaded for the first time. Your local documents are not shared between different browsers or computers. Clearing your browser’s data may delete all your local documents! Make sure your documents are synchronized with Google Drive or Dropbox (check out the Synchronization section). Create a document The document panel is accessible using the button in the navigation bar. You can create a new document by clicking New document in the document panel. Switch to another document All your local documents are listed in the document panel. You can switch from one to anoth