mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#######################################################################
 | 
						|
# splitfile.sh
 | 
						|
#
 | 
						|
# Written: Jaocb Pease jacob.pease@okstate.edu 7/22/2024
 | 
						|
#
 | 
						|
# Purpose: Used to split boot.mem into two sections for FPGA
 | 
						|
#
 | 
						|
# 
 | 
						|
#
 | 
						|
# A component of the Wally configurable RISC-V project.
 | 
						|
# 
 | 
						|
# Copyright (C) 2021-23 Harvey Mudd College & Oklahoma State University
 | 
						|
#
 | 
						|
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
 | 
						|
#
 | 
						|
# Licensed under the Solderpad Hardware License v 2.1 (the
 | 
						|
# “License”); you may not use this file except in compliance with the
 | 
						|
# License, or, at your option, the Apache License version 2.0. You
 | 
						|
# may obtain a copy of the License at
 | 
						|
#
 | 
						|
# https://solderpad.org/licenses/SHL-2.1/
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, any work
 | 
						|
# distributed under the License is distributed on an “AS IS” BASIS,
 | 
						|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 | 
						|
# implied. See the License for the specific language governing
 | 
						|
# permissions and limitations under the License.
 | 
						|
######################################################################
 | 
						|
 | 
						|
 | 
						|
# Acquired from here.
 | 
						|
# https:##stackoverflow.com#questions#3066948#how-to-file-split-at-a-line-number
 | 
						|
file_name=$1
 | 
						|
 | 
						|
# set first K lines:
 | 
						|
K=512
 | 
						|
 | 
						|
# line count (N): 
 | 
						|
N=$(wc -l < $file_name)
 | 
						|
 | 
						|
# length of the bottom file:
 | 
						|
L=$(( $N - $K ))
 | 
						|
 | 
						|
# create the top of file: 
 | 
						|
head -n $K $file_name > boot.mem
 | 
						|
 | 
						|
# create bottom of file: 
 | 
						|
tail -n $L $file_name > data.mem
 |