code: def start_program_page_with_buffer(self, buffer_number, address):
          
          assert buffer_number < len(self.page_buffers), "Invalid buffer number"
          assert self._active_operation == self.Operation.PROGRAM
  
          # get info about this page
          page_info = self.get_page_info(address)
  
          # update core register to execute the program_page subroutine
          result = self._call_function(self.flash_algo['pc_program_page'], address, page_info.size, self.page_buffers[buffer_number])
docs: !
          @brief Start flashing one or more pages.